GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id$
3  *
4  * Project: GDAL Core
5  * Purpose: GDAL Core C/Public declarations.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 1998, 2002 Frank Warmerdam
10  * Copyright (c) 2007-2014, Even Rouault <even dot rouault at spatialys.com>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef GDAL_H_INCLUDED
32 #define GDAL_H_INCLUDED
33 
40 #ifndef DOXYGEN_SKIP
41 #if defined(GDAL_COMPILATION)
42 #define DO_NOT_DEFINE_GDAL_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 /* -------------------------------------------------------------------- */
54 /* Significant constants. */
55 /* -------------------------------------------------------------------- */
56 
58 
60 typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5,
67  /* TODO?(#6879): GDT_UInt64 */
68  /* TODO?(#6879): GDT_Int64 */ GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
73  /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
76  GDT_TypeCount = 12 /* maximum type # + 1 */
77 } GDALDataType;
78 
79 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated.
80 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
81 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
82 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
83 int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger( GDALDataType );
84 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
85 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
86 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
87 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
89 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
90 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
91 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
92 double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
94 int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy( GDALDataType eTypeFrom,
95  GDALDataType eTypeTo );
96 
100 typedef enum
101 {
102  GARIO_PENDING = 0,
103  GARIO_UPDATE = 1,
104  GARIO_ERROR = 2,
105  GARIO_COMPLETE = 3,
106  GARIO_TypeCount = 4
108 
109 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
110 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
111 
113 typedef enum { GA_ReadOnly = 0, GA_Update = 1
116 } GDALAccess;
117 
119 typedef enum { GF_Read = 0, GF_Write = 1
122 } GDALRWFlag;
123 
124 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
128 typedef enum
139  /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
141 
142 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
143 /* and INIT_RASTERIO_EXTRA_ARG */
147 typedef struct
148 {
150  int nVersion;
151 
154 
156  GDALProgressFunc pfnProgress;
159 
166  double dfXOff;
168  double dfYOff;
170  double dfXSize;
172  double dfYSize;
174 
175 #ifndef DOXYGEN_SKIP
176 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
177 #endif
178 
182 #define INIT_RASTERIO_EXTRA_ARG(s) \
183  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
184  (s).eResampleAlg = GRIORA_NearestNeighbour; \
185  (s).pfnProgress = CPL_NULLPTR; \
186  (s).pProgressData = CPL_NULLPTR; \
187  (s).bFloatingPointWindowValidity = FALSE; } while(0)
188 
190 typedef enum
211 
212 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
213 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
214 
216 typedef enum
217 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
223 
225 
226 /* "well known" metadata items. */
227 
230 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
231 
233 # define GDALMD_AOP_AREA "Area"
234 
236 # define GDALMD_AOP_POINT "Point"
237 
238 /* -------------------------------------------------------------------- */
239 /* GDAL Specific error codes. */
240 /* */
241 /* error codes 100 to 299 reserved for GDAL. */
242 /* -------------------------------------------------------------------- */
243 #ifndef DOXYGEN_SKIP
244 #define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
245 #endif
246 
247 /* -------------------------------------------------------------------- */
248 /* Define handle types related to various internal classes. */
249 /* -------------------------------------------------------------------- */
250 
252 typedef void *GDALMajorObjectH;
253 
255 typedef void *GDALDatasetH;
256 
258 typedef void *GDALRasterBandH;
259 
261 typedef void *GDALDriverH;
262 
264 typedef void *GDALColorTableH;
265 
268 
270 typedef void *GDALAsyncReaderH;
271 
274 
278 typedef enum {
286 
288 typedef struct GDALExtendedDataTypeHS* GDALExtendedDataTypeH;
290 typedef struct GDALEDTComponentHS* GDALEDTComponentH;
292 typedef struct GDALGroupHS* GDALGroupH;
294 typedef struct GDALMDArrayHS* GDALMDArrayH;
296 typedef struct GDALAttributeHS* GDALAttributeH;
298 typedef struct GDALDimensionHS* GDALDimensionH;
299 
300 /* ==================================================================== */
301 /* Registration/driver related. */
302 /* ==================================================================== */
303 
305 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
306 
308 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
309 
311 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
312 
314 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
315 
320 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
321 
325 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
326 
328 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
329 
333 #define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
334 
338 #define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
339 
343 #define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
344 
348 #define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
349 
353 #define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
354 
358 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
359 
361 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
362 
366 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
367 
371 #define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
372 
374 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
375 
377 #define GDAL_DCAP_OPEN "DCAP_OPEN"
378 
387 #define GDAL_DCAP_CREATE "DCAP_CREATE"
388 
393 #define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
394 
403 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
404 
410 #define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
411 
415 #define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
416 
418 #define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
419 
421 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
422 
426 #define GDAL_DCAP_RASTER "DCAP_RASTER"
427 
431 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
432 
436 #define GDAL_DCAP_GNM "DCAP_GNM"
437 
441 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
442 
446 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
447 
451 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
452 
458 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
459 
463 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
464 
468 #define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
469 
473 #define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
474 
478 #define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
479 
483 #define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
484 
488 #define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
489 
490 
491 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
492 
493 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
494  const char *, int, int, int, GDALDataType,
496 GDALDatasetH CPL_DLL CPL_STDCALL
497 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
498  int, CSLConstList, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
499 
500 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
501  CSLConstList papszFileList );
502 
503 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
504  const char *pszFilename, unsigned int nIdentifyFlags,
505  const char *const *papszAllowedDrivers, const char *const *papszFileList);
506 
507 GDALDatasetH CPL_DLL CPL_STDCALL
508 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
509 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
510 
511 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
512 /* equals to GA_ReadOnly and GA_Update */
513 
518 #define GDAL_OF_READONLY 0x00
519 
524 #define GDAL_OF_UPDATE 0x01
525 
530 #define GDAL_OF_ALL 0x00
531 
536 #define GDAL_OF_RASTER 0x02
537 
542 #define GDAL_OF_VECTOR 0x04
543 
548 #define GDAL_OF_GNM 0x08
549 
554 #define GDAL_OF_MULTIDIM_RASTER 0x10
555 
556 #ifndef DOXYGEN_SKIP
557 #define GDAL_OF_KIND_MASK 0x1E
558 #endif
559 
564 #define GDAL_OF_SHARED 0x20
565 
570 #define GDAL_OF_VERBOSE_ERROR 0x40
571 
578 #define GDAL_OF_INTERNAL 0x80
579 
589 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
590 
599 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
600 
609 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
610 
611 #ifndef DOXYGEN_SKIP
612 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
613  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
614 #define GDAL_OF_RESERVED_1 0x300
615 
617 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
618 #endif
619 
620 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
621  unsigned int nOpenFlags,
622  const char* const* papszAllowedDrivers,
623  const char* const* papszOpenOptions,
624  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
625 
626 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
627 
628 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
629 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
630 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
631 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
632 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
633 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
634 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
635 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
636 #ifndef DOXYGEN_SKIP
637 void CPL_DLL GDALDestroy( void );
638 #endif
639 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
640 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
641  const char * pszNewName,
642  const char * pszOldName );
643 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
644  const char * pszNewName,
645  const char * pszOldName);
646 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
647  CSLConstList papszCreationOptions);
648 
649 /* The following are deprecated */
650 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
651 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
652 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
653 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
654 
655 /* ==================================================================== */
656 /* GDAL_GCP */
657 /* ==================================================================== */
658 
660 typedef struct
661 {
663  char *pszId;
664 
666  char *pszInfo;
667 
669  double dfGCPPixel;
671  double dfGCPLine;
672 
674  double dfGCPX;
675 
677  double dfGCPY;
678 
680  double dfGCPZ;
681 } GDAL_GCP;
682 
683 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
684 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
685 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
686 
687 int CPL_DLL CPL_STDCALL
688 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
689  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
690 int CPL_DLL CPL_STDCALL
691 GDALInvGeoTransform( double *padfGeoTransformIn,
692  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
693 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
694  double *, double * );
695 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
696  const double *padfGeoTransform2,
697  double *padfGeoTransformOut);
698 
699 /* ==================================================================== */
700 /* major objects (dataset, and, driver, drivermanager). */
701 /* ==================================================================== */
702 
703 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
704 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
705 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, CSLConstList,
706  const char * );
707 const char CPL_DLL * CPL_STDCALL
708 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
709 CPLErr CPL_DLL CPL_STDCALL
710 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
711  const char * );
712 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
713 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
714 
715 /* ==================================================================== */
716 /* GDALDataset class ... normally this represents one file. */
717 /* ==================================================================== */
718 
720 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
721 
722 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
723 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
724 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
725 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
726 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
727 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
728 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
729 
730 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
731  CSLConstList papszOptions );
732 
733 GDALAsyncReaderH CPL_DLL CPL_STDCALL
734 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
735  int nXSize, int nYSize,
736  void *pBuf, int nBufXSize, int nBufYSize,
737  GDALDataType eBufType, int nBandCount, int* panBandMap,
738  int nPixelSpace, int nLineSpace, int nBandSpace,
739  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
740 
741 void CPL_DLL CPL_STDCALL
742 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
743 
744 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
745  GDALDatasetH hDS, GDALRWFlag eRWFlag,
746  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
747  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
748  int nBandCount, int *panBandCount,
749  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
750 
751 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
752  GDALDatasetH hDS, GDALRWFlag eRWFlag,
753  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
754  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
755  int nBandCount, int *panBandCount,
756  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
758 
759 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
760  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
761  int nBXSize, int nBYSize, GDALDataType eBDataType,
762  int nBandCount, int *panBandCount, CSLConstList papszOptions );
763 
764 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
765 OGRSpatialReferenceH CPL_DLL GDALGetSpatialRef( GDALDatasetH );
766 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
767 CPLErr CPL_DLL GDALSetSpatialRef( GDALDatasetH, OGRSpatialReferenceH );
768 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
769 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
770 
771 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
772 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
773 OGRSpatialReferenceH CPL_DLL GDALGetGCPSpatialRef( GDALDatasetH );
774 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
775 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
776  const char * );
777 CPLErr CPL_DLL GDALSetGCPs2( GDALDatasetH, int, const GDAL_GCP *,
779 
780 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
781 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
782 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
783 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
784 
785 CPLErr CPL_DLL CPL_STDCALL
786 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
787  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
788 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
789 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
790 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
791 
792 CPLErr CPL_DLL CPL_STDCALL
793  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
794 
795 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
796  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
797  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
798 
799 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
800  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
801  const char * const * constpapszOptions,
802  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
803 
804 CPLErr CPL_DLL
806  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
807  const char *pszResampling,
808  GDALProgressFunc pfnProgress, void *pProgressData );
809 
810 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
811 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
812 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
813 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
814 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
816  CSLConstList );
817 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
818  CSLConstList );
819 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
820 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature( GDALDatasetH hDS,
821  OGRLayerH* phBelongingLayer,
822  double* pdfProgressPct,
823  GDALProgressFunc pfnProgress,
824  void* pProgressData );
825 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
826 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
827  OGRGeometryH, const char * );
828 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
829 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
830 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
831 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
832 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
833 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
834 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
835 
836 /* ==================================================================== */
837 /* GDALRasterBand ... one band/channel in a dataset. */
838 /* ==================================================================== */
839 
844 #define SRCVAL(papoSource, eSrcType, ii) \
845  (eSrcType == GDT_Byte ? \
846  CPL_REINTERPRET_CAST(const GByte*,papoSource)[ii] : \
847  (eSrcType == GDT_Float32 ? \
848  CPL_REINTERPRET_CAST(const float*,papoSource)[ii] : \
849  (eSrcType == GDT_Float64 ? \
850  CPL_REINTERPRET_CAST(const double*,papoSource)[ii] : \
851  (eSrcType == GDT_Int32 ? \
852  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[ii] : \
853  (eSrcType == GDT_UInt16 ? \
854  CPL_REINTERPRET_CAST(const GUInt16*,papoSource)[ii] : \
855  (eSrcType == GDT_Int16 ? \
856  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[ii] : \
857  (eSrcType == GDT_UInt32 ? \
858  CPL_REINTERPRET_CAST(const GUInt32*,papoSource)[ii] : \
859  (eSrcType == GDT_CInt16 ? \
860  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[(ii) * 2] : \
861  (eSrcType == GDT_CInt32 ? \
862  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[(ii) * 2] : \
863  (eSrcType == GDT_CFloat32 ? \
864  CPL_REINTERPRET_CAST(const float*,papoSource)[(ii) * 2] : \
865  (eSrcType == GDT_CFloat64 ? \
866  CPL_REINTERPRET_CAST(const double*,papoSource)[(ii) * 2] : 0)))))))))))
867 
870 typedef CPLErr
871 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
872  int nBufXSize, int nBufYSize,
873  GDALDataType eSrcType, GDALDataType eBufType,
874  int nPixelSpace, int nLineSpace);
875 
876 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
877 void CPL_DLL CPL_STDCALL
878 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
879 
880 CPLErr CPL_DLL CPL_STDCALL
881 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
882  int *pnXValid, int *pnYValid );
883 
884 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
885  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
886  int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions );
887 
888 CPLErr CPL_DLL CPL_STDCALL
889 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
890  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
891  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
892  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
893 CPLErr CPL_DLL CPL_STDCALL
894 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
895  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
896  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
897  GSpacing nPixelSpace, GSpacing nLineSpace,
899 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
900 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
901 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
902 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
903 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
904 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
905 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
906 
907 GDALColorInterp CPL_DLL CPL_STDCALL
908 GDALGetRasterColorInterpretation( GDALRasterBandH );
909 CPLErr CPL_DLL CPL_STDCALL
911 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );
912 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
913 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
914 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
915 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
916 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
917 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
918 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
919 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
920 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, CSLConstList );
921 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
922 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
923 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
924  GDALRasterBandH, int bApproxOK, int bForce,
925  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
926 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
927  GDALRasterBandH, int bApproxOK,
928  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
929  GDALProgressFunc pfnProgress, void *pProgressData );
930 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
931  GDALRasterBandH hBand,
932  double dfMin, double dfMax, double dfMean, double dfStdDev );
933 
934 GDALMDArrayH CPL_DLL GDALRasterBandAsMDArray(GDALRasterBandH) CPL_WARN_UNUSED_RESULT;
935 
936 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
937 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
938 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
939 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
940 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
941 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
942 void CPL_DLL CPL_STDCALL
943 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
944  double adfMinMax[2] );
945 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
946 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
947  double dfMin, double dfMax,
948  int nBuckets, int *panHistogram,
949  int bIncludeOutOfRange, int bApproxOK,
950  GDALProgressFunc pfnProgress,
951  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
952 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
953  double dfMin, double dfMax,
954  int nBuckets, GUIntBig *panHistogram,
955  int bIncludeOutOfRange, int bApproxOK,
956  GDALProgressFunc pfnProgress,
957  void * pProgressData );
958 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
959  double *pdfMin, double *pdfMax,
960  int *pnBuckets, int **ppanHistogram,
961  int bForce,
962  GDALProgressFunc pfnProgress,
963  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
964 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
965  double *pdfMin, double *pdfMax,
966  int *pnBuckets, GUIntBig **ppanHistogram,
967  int bForce,
968  GDALProgressFunc pfnProgress,
969  void * pProgressData );
970 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
971  double dfMin, double dfMax,
972  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
973 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
974  double dfMin, double dfMax,
975  int nBuckets, GUIntBig *panHistogram );
976 int CPL_DLL CPL_STDCALL
977 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
978 GDALRasterBandH CPL_DLL CPL_STDCALL
979 GDALGetRasterSampleOverview( GDALRasterBandH, int );
980 GDALRasterBandH CPL_DLL CPL_STDCALL
981 GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig );
982 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
983  double dfRealValue, double dfImaginaryValue );
984 CPLErr CPL_DLL CPL_STDCALL
985 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
986  double *pdfMean, double *pdfStdDev,
987  GDALProgressFunc pfnProgress,
988  void *pProgressData );
989 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
990  int nOverviewCount,
991  GDALRasterBandH *pahOverviews,
992  GDALProgressFunc pfnProgress,
993  void *pProgressData );
994 
995 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
996  GDALRasterBandH hBand );
997 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
999 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
1000  GDALDerivedPixelFunc pfnPixelFunc );
1001 
1002 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
1003 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
1004 CPLErr CPL_DLL CPL_STDCALL
1005  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
1006 
1008 #define GMF_ALL_VALID 0x01
1009 
1011 #define GMF_PER_DATASET 0x02
1012 
1014 #define GMF_ALPHA 0x04
1015 
1017 #define GMF_NODATA 0x08
1018 
1022 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1023 
1028 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1029 
1035 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1036 
1037 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
1038  int nXOff, int nYOff,
1039  int nXSize, int nYSize,
1040  int nMaskFlagStop,
1041  double* pdfDataPct );
1042 
1043 /* ==================================================================== */
1044 /* GDALAsyncReader */
1045 /* ==================================================================== */
1046 
1047 GDALAsyncStatusType CPL_DLL CPL_STDCALL
1048 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
1049  int* pnXBufOff, int* pnYBufOff,
1050  int* pnXBufSize, int* pnYBufSize );
1051 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
1052  double dfTimeout);
1053 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
1054 
1055 /* -------------------------------------------------------------------- */
1056 /* Helper functions. */
1057 /* -------------------------------------------------------------------- */
1058 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
1059  int nOptions );
1060 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
1061  int nWordSkip );
1062 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
1063  int nWordSkip );
1064 
1065 void CPL_DLL CPL_STDCALL
1066  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
1067  GDALDataType eSrcType, int nSrcPixelOffset,
1068  void * CPL_RESTRICT pDstData,
1069  GDALDataType eDstType, int nDstPixelOffset,
1070  int nWordCount );
1071 
1072 void CPL_DLL CPL_STDCALL
1073  GDALCopyWords64( const void * CPL_RESTRICT pSrcData,
1074  GDALDataType eSrcType, int nSrcPixelOffset,
1075  void * CPL_RESTRICT pDstData,
1076  GDALDataType eDstType, int nDstPixelOffset,
1077  GPtrDiff_t nWordCount );
1078 
1079 void CPL_DLL
1080 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
1081  GByte *pabyDstData, int nDstOffset, int nDstStep,
1082  int nBitCount, int nStepCount );
1083 
1084 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
1085 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
1086  double * );
1087 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
1088  double * );
1089 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
1090  int *, GDAL_GCP ** );
1091 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
1092  int *, GDAL_GCP ** );
1093 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
1094  int *, GDAL_GCP ** );
1095 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
1096  char **, int *, GDAL_GCP ** );
1097 
1098 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
1099 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
1100 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
1101 
1102 /* Note to developers : please keep this section in sync with ogr_core.h */
1103 
1104 #ifndef GDAL_VERSION_INFO_DEFINED
1105 #ifndef DOXYGEN_SKIP
1106 #define GDAL_VERSION_INFO_DEFINED
1107 #endif
1108 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
1109 #endif
1110 
1111 #ifndef GDAL_CHECK_VERSION
1112 
1113 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
1114  const char* pszCallingComponentName);
1115 
1119 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1120  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1121 
1122 #endif
1123 
1126 typedef struct
1127 {
1128  double dfLINE_OFF;
1129  double dfSAMP_OFF;
1130  double dfLAT_OFF;
1131  double dfLONG_OFF;
1132  double dfHEIGHT_OFF;
1134  double dfLINE_SCALE;
1135  double dfSAMP_SCALE;
1136  double dfLAT_SCALE;
1137  double dfLONG_SCALE;
1140  double adfLINE_NUM_COEFF[20];
1141  double adfLINE_DEN_COEFF[20];
1142  double adfSAMP_NUM_COEFF[20];
1143  double adfSAMP_DEN_COEFF[20];
1145  double dfMIN_LONG;
1146  double dfMIN_LAT;
1147  double dfMAX_LONG;
1148  double dfMAX_LAT;
1149 } GDALRPCInfo;
1150 
1151 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( CSLConstList, GDALRPCInfo * );
1152 
1153 /* ==================================================================== */
1154 /* Color tables. */
1155 /* ==================================================================== */
1156 
1158 typedef struct
1159 {
1161  short c1;
1162 
1164  short c2;
1165 
1167  short c3;
1168 
1170  short c4;
1171 } GDALColorEntry;
1172 
1173 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT;
1174 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1175 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1176 GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH );
1177 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1178 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1179 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1180 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1181 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1182  int nStartIndex, const GDALColorEntry *psStartColor,
1183  int nEndIndex, const GDALColorEntry *psEndColor );
1184 
1185 /* ==================================================================== */
1186 /* Raster Attribute Table */
1187 /* ==================================================================== */
1188 
1195 
1197 typedef enum { GFU_Generic = 0, GFU_PixelCount = 1, GFU_Name = 2, GFU_Min = 3, GFU_Max = 4, GFU_MinMax = 5, GFU_Red = 6, GFU_Green = 7, GFU_Blue = 8, GFU_Alpha = 9, GFU_RedMin = 10, GFU_GreenMin = 11, GFU_BlueMin = 12, GFU_AlphaMin = 13, GFU_RedMax = 14, GFU_GreenMax = 15, GFU_BlueMax = 16, GFU_AlphaMax = 17, GFU_MaxCount
1218 
1226 
1227 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1229 
1230 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1231  GDALRasterAttributeTableH );
1232 
1233 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1234 
1235 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1236  GDALRasterAttributeTableH, int );
1237 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1238  GDALRasterAttributeTableH, int );
1239 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1240  GDALRasterAttributeTableH, int );
1241 
1242 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1243  GDALRATFieldUsage );
1244 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1245 
1246 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1247  GDALRasterAttributeTableH, int, int);
1248 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1249  GDALRasterAttributeTableH, int, int);
1250 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1251  GDALRasterAttributeTableH, int, int);
1252 
1253 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1254  const char * );
1255 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1256  int );
1257 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1258  double );
1259 
1260 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1261 
1262 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1263  int iField, int iStartRow, int iLength, double *pdfData );
1264 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1265  int iField, int iStartRow, int iLength, int *pnData);
1266 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1267  int iField, int iStartRow, int iLength, CSLConstList papszStrList);
1268 
1269 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1270  int );
1271 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
1272  const char *,
1273  GDALRATFieldType,
1274  GDALRATFieldUsage );
1275 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
1276  double, double );
1277 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1278  double *, double * );
1279 CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType( GDALRasterAttributeTableH hRAT,
1280  const GDALRATTableType eInTableType );
1281 GDALRATTableType CPL_DLL CPL_STDCALL GDALRATGetTableType( GDALRasterAttributeTableH hRAT);
1282 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1283  GDALRasterAttributeTableH, GDALColorTableH );
1284 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1285  GDALRasterAttributeTableH, int nEntryCount );
1286 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1287  FILE * );
1288 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1289  GDALRATClone( const GDALRasterAttributeTableH );
1290 
1291 void CPL_DLL* CPL_STDCALL
1292  GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT;
1293 
1294 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1295 void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics( GDALRasterAttributeTableH );
1296 
1297 /* ==================================================================== */
1298 /* GDAL Cache Management */
1299 /* ==================================================================== */
1300 
1301 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1302 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1303 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1304 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1305 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1306 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1307 
1308 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1309 
1310 /* ==================================================================== */
1311 /* GDAL virtual memory */
1312 /* ==================================================================== */
1313 
1314 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1315  GDALRWFlag eRWFlag,
1316  int nXOff, int nYOff,
1317  int nXSize, int nYSize,
1318  int nBufXSize, int nBufYSize,
1319  GDALDataType eBufType,
1320  int nBandCount, int* panBandMap,
1321  int nPixelSpace,
1322  GIntBig nLineSpace,
1323  GIntBig nBandSpace,
1324  size_t nCacheSize,
1325  size_t nPageSizeHint,
1326  int bSingleThreadUsage,
1327  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1328 
1329 CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1330  GDALRWFlag eRWFlag,
1331  int nXOff, int nYOff,
1332  int nXSize, int nYSize,
1333  int nBufXSize, int nBufYSize,
1334  GDALDataType eBufType,
1335  int nPixelSpace,
1336  GIntBig nLineSpace,
1337  size_t nCacheSize,
1338  size_t nPageSizeHint,
1339  int bSingleThreadUsage,
1340  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1341 
1342 CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1343  GDALRWFlag eRWFlag,
1344  int *pnPixelSpace,
1345  GIntBig *pnLineSpace,
1346  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1347 
1349 typedef enum
1350 {
1358 
1359 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1360  GDALRWFlag eRWFlag,
1361  int nXOff, int nYOff,
1362  int nXSize, int nYSize,
1363  int nTileXSize, int nTileYSize,
1364  GDALDataType eBufType,
1365  int nBandCount, int* panBandMap,
1366  GDALTileOrganization eTileOrganization,
1367  size_t nCacheSize,
1368  int bSingleThreadUsage,
1369  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1370 
1371 CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1372  GDALRWFlag eRWFlag,
1373  int nXOff, int nYOff,
1374  int nXSize, int nYSize,
1375  int nTileXSize, int nTileYSize,
1376  GDALDataType eBufType,
1377  size_t nCacheSize,
1378  int bSingleThreadUsage,
1379  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1380 
1381 /* ==================================================================== */
1382 /* VRTPansharpenedDataset class. */
1383 /* ==================================================================== */
1384 
1385 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1386  GDALRasterBandH hPanchroBand,
1387  int nInputSpectralBands,
1388  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1389 
1390 /* =================================================================== */
1391 /* Misc API */
1392 /* ==================================================================== */
1393 
1394 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1395  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1396 
1397 /* ==================================================================== */
1398 /* Multidimensionnal API_api */
1399 /* ==================================================================== */
1400 
1401 GDALDatasetH CPL_DLL GDALCreateMultiDimensional( GDALDriverH hDriver,
1402  const char * pszName,
1403  CSLConstList papszRootGroupOptions,
1404  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1405 
1409  const char* pszName, size_t nTotalSize,
1410  size_t nComponents, const GDALEDTComponentH* comps) CPL_WARN_UNUSED_RESULT;
1412 const char CPL_DLL* GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
1418 void CPL_DLL GDALExtendedDataTypeFreeComponents(GDALEDTComponentH* components, size_t nCount);
1420  GDALExtendedDataTypeH hTargetEDT);
1422  GDALExtendedDataTypeH hSecondEDT);
1423 
1424 GDALEDTComponentH CPL_DLL GDALEDTComponentCreate(const char* pszName, size_t nOffset, GDALExtendedDataTypeH hType) CPL_WARN_UNUSED_RESULT;
1425 void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
1426 const char CPL_DLL* GDALEDTComponentGetName(GDALEDTComponentH hComp);
1427 size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
1429 
1431 void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
1432 const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
1433 const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
1434 char CPL_DLL **GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1435 GDALMDArrayH CPL_DLL GDALGroupOpenMDArray(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1436 char CPL_DLL **GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1437 GDALGroupH CPL_DLL GDALGroupOpenGroup(GDALGroupH hGroup, const char* pszSubGroupName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1438 GDALDimensionH CPL_DLL *GDALGroupGetDimensions(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1439 GDALAttributeH CPL_DLL GDALGroupGetAttribute(GDALGroupH hGroup, const char* pszName) CPL_WARN_UNUSED_RESULT;
1440 GDALAttributeH CPL_DLL *GDALGroupGetAttributes(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1441 CSLConstList CPL_DLL GDALGroupGetStructuralInfo(GDALGroupH hGroup);
1443  const char* pszSubGroupName,
1444  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1446  const char* pszName,
1447  const char* pszType,
1448  const char* pszDirection,
1449  GUInt64 nSize,
1450  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1452  const char* pszName,
1453  size_t nDimensions,
1454  GDALDimensionH* pahDimensions,
1455  GDALExtendedDataTypeH hEDT,
1456  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1458  const char* pszName,
1459  size_t nDimensions,
1460  const GUInt64* panDimensions,
1461  GDALExtendedDataTypeH hEDT,
1462  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1463 
1464 void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
1465 const char CPL_DLL* GDALMDArrayGetName(GDALMDArrayH hArray);
1466 const char CPL_DLL* GDALMDArrayGetFullName(GDALMDArrayH hArray);
1468 size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
1471 int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray,
1472  const GUInt64* arrayStartIdx,
1473  const size_t* count,
1474  const GInt64* arrayStep,
1475  const GPtrDiff_t* bufferStride,
1476  GDALExtendedDataTypeH bufferDatatype,
1477  void* pDstBuffer,
1478  const void* pDstBufferAllocStart,
1479  size_t nDstBufferllocSize);
1480 int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray,
1481  const GUInt64* arrayStartIdx,
1482  const size_t* count,
1483  const GInt64* arrayStep,
1484  const GPtrDiff_t* bufferStride,
1485  GDALExtendedDataTypeH bufferDatatype,
1486  const void* pSrcBuffer,
1487  const void* psrcBufferAllocStart,
1488  size_t nSrcBufferllocSize);
1489 GDALAttributeH CPL_DLL GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char* pszName) CPL_WARN_UNUSED_RESULT;
1490 GDALAttributeH CPL_DLL *GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1492  const char* pszName,
1493  size_t nDimensions,
1494  const GUInt64* panDimensions,
1495  GDALExtendedDataTypeH hEDT,
1496  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1497 const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
1498 double CPL_DLL GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray,
1499  int* pbHasNoDataValue);
1500 int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void*);
1502  double dfNoDataValue);
1503 int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
1504 double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
1505 int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
1506 double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
1507 GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
1508 int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char*);
1509 const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
1510 int CPL_DLL GDALMDArraySetSpatialRef( GDALMDArrayH, OGRSpatialReferenceH );
1511 OGRSpatialReferenceH CPL_DLL GDALMDArrayGetSpatialRef(GDALMDArrayH hArray);
1512 size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount,
1513  size_t nMaxChunkMemory);
1514 CSLConstList CPL_DLL GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray);
1515 GDALMDArrayH CPL_DLL GDALMDArrayGetView(GDALMDArrayH hArray, const char* pszViewExpr);
1517  size_t nNewAxisCount,
1518  const int *panMapNewAxisToOldAxis);
1520 GDALMDArrayH CPL_DLL GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions);
1521 GDALDatasetH CPL_DLL GDALMDArrayAsClassicDataset(GDALMDArrayH hArray,
1522  size_t iXDim, size_t iYDim);
1523 
1524 void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
1525 void CPL_DLL GDALReleaseAttributes(GDALAttributeH* attributes, size_t nCount);
1526 const char CPL_DLL* GDALAttributeGetName(GDALAttributeH hAttr);
1527 const char CPL_DLL* GDALAttributeGetFullName(GDALAttributeH hAttr);
1529 size_t CPL_DLL GDALAttributeGetDimensionCount(GDALAttributeH hAttr);
1532 GByte CPL_DLL *GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize) CPL_WARN_UNUSED_RESULT;
1533 void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte* raw, size_t nSize);
1534 const char CPL_DLL* GDALAttributeReadAsString(GDALAttributeH hAttr);
1535 int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
1536 double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
1538 int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1539 double CPL_DLL *GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1540 int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void*, size_t);
1541 int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char*);
1542 int CPL_DLL GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList);
1543 int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
1544 int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
1545 int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double*, size_t);
1546 
1547 void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
1548 void CPL_DLL GDALReleaseDimensions(GDALDimensionH* dims, size_t nCount);
1549 const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
1550 const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
1551 const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
1552 const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
1556 
1557 CPL_C_END
1558 
1559 #endif /* ndef GDAL_H_INCLUDED */
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1652
const char * GDALAttributeReadAsString(GDALAttributeH hAttr)
Return the value of an attribute as a string.
Definition: gdalmultidim.cpp:7057
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:6490
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1438
GDALAttributeH GDALGroupCreateAttribute(GDALGroupH hGroup, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a attribute within a group.
Definition: gdalmultidim.cpp:6098
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3837
Definition: gdal.h:200
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:3098
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:521
GDALDatasetH GDALOpenEx(const char *pszFilename, unsigned int nOpenFlags, const char *const *papszAllowedDrivers, const char *const *papszOpenOptions, const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT
Open a raster or vector file as a GDALDataset.
Definition: gdaldataset.cpp:3217
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:6546
Definition: gdal.h:115
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition: gdalmultidim.cpp:7021
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition: gdalmultidim.cpp:6892
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition: gdalmultidim.cpp:6774
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:1118
double dfMIN_LAT
Definition: gdal.h:1146
Definition: gdal.h:1204
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:983
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:566
GDALDataType
Definition: gdal.h:60
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition: gdal.h:298
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:5360
Definition: gdal.h:1198
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2203
Definition: gdal.h:72
char * pszInfo
Informational message or "".
Definition: gdal.h:666
Definition: gdal.h:1216
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:722
Document node structure.
Definition: cpl_minixml.h:69
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition: gdalmultidim.cpp:5589
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition: gdalmultidim.cpp:7362
Definition: gdal.h:1206
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:4189
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition: gdal.h:288
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:288
Definitions for CPL mini XML Parser/Serializer.
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:669
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2349
Definition: gdal.h:1210
Definition: gdal.h:1356
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray) CPL_WARN_UNUSED_RESULT
Return the data type.
Definition: gdalmultidim.cpp:6248
GDALMDArrayH GDALGroupCreateMDArray(GDALGroupH hGroup, const char *pszName, size_t nDimensions, GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a multidimensional array within a group.
Definition: gdalmultidim.cpp:6065
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:2805
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:130
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType) CPL_WARN_UNUSED_RESULT
Create a new GDALEDTComponent.
Definition: gdalmultidim.cpp:5677
Definition: gdal.h:1192
Definition: gdal.h:201
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a sub-group within a group.
Definition: gdalmultidim.cpp:6013
Definition: gdal.h:62
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:3064
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:1135
Compound data type.
Definition: gdal.h:284
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:7510
Definition: gdal.h:219
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2332
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:398
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2494
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition: gdal_misc.cpp:685
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:184
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:5794
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:6528
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition: gdalcolortable.cpp:280
Core portability definitions for CPL.
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition: gdalcolortable.cpp:135
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:270
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
int bFloatingPointWindowValidity
Definition: gdal.h:164
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition: gdalmultidim.cpp:7334
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1761
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT
Copy all dataset raster data.
Definition: rasterio.cpp:4393
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1276
Definition: gdal.h:206
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1107
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) CPL_WARN_UNUSED_RESULT
Sets up an asynchronous data request.
Definition: gdaldataset.cpp:3900
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:317
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition: gdalmultidim.cpp:7237
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:2191
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize) CPL_WARN_UNUSED_RESULT
Return the raw value of an attribute.
Definition: gdalmultidim.cpp:7000
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
Definition: gdal.h:198
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2407
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2696
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:790
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT
Create a virtual pansharpened dataset.
Definition: vrtpansharpened.cpp:93
void * GDALRATSerializeJSON(GDALRasterAttributeTableH) CPL_WARN_UNUSED_RESULT
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:2231
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName) CPL_WARN_UNUSED_RESULT
Return an attribute by its name.
Definition: gdalmultidim.cpp:5921
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Build raster overview(s)
Definition: gdaldataset.cpp:1968
Definition: gdal.h:121
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
Definition: gdal.h:1208
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition: gdaldataset.cpp:1060
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:983
CPLErr GDALGetRasterHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
Compute raster histogram.
Definition: gdalrasterband.cpp:3352
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition: gdalmultidim.cpp:6156
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1849
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:395
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1190
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition: gdalmultidim.cpp:5571
Definition: gdal.h:63
Definition: gdal.h:66
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:1655
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:575
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:971
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:248
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4650
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3593
Definition: gdal.h:1201
Definition: gdal.h:1214
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2601
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:4270
double dfLONG_SCALE
Definition: gdal.h:1137
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2308
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount) CPL_WARN_UNUSED_RESULT
Return the dimensions of the array.
Definition: gdalmultidim.cpp:6207
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1593
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2163
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:5838
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5702
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2024
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:619
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition: gdalmultidim.cpp:6861
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition: gdal.h:292
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:372
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition: gdalmultidim.cpp:7281
Definition: gdal.h:1212
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:128
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition: gdal_misc.cpp:502
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1680
int GDALExtractRPCInfo(CSLConstList, GDALRPCInfo *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3418
GDALRWFlag
Definition: gdal.h:119
double dfMIN_LONG
Definition: gdal.h:1145
int nVersion
Definition: gdal.h:150
int GDALDimensionSetIndexingVariable(GDALDimensionH hDim, GDALMDArrayH hArray)
Set the variable that is used to index the dimension.
Definition: gdalmultidim.cpp:7431
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2862
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:255
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:797
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition: gdalmultidim.cpp:5658
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:215
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:590
Color tuple.
Definition: gdal.h:1158
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:7130
Definition: gdal.h:204
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:898
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition: gdal.h:290
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1534
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType) CPL_WARN_UNUSED_RESULT
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition: gdalmultidim.cpp:5431
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1126
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1758
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:390
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition: gdalmultidim.cpp:5994
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition: gdalmultidim.cpp:5722
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1624
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition: gdalmultidim.cpp:5541
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:258
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1531
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:864
OGRLayerH GDALDatasetCreateLayer(GDALDatasetH, const char *, OGRSpatialReferenceH, OGRwkbGeometryType, CSLConstList)
This function attempts to create a new layer on the dataset with the indicated name, coordinate system, geometry type.
Definition: gdaldataset.cpp:4460
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT
Copy a whole raster band.
Definition: rasterio.cpp:4720
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:6439
Definition: gdal.h:61
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition: gdalmultidim.cpp:6142
Definition: gdal.h:1203
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition: gdalmultidim.cpp:5783
Definition: gdal.h:1199
double dfHEIGHT_SCALE
Definition: gdal.h:1138
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:999
double dfMAX_LAT
Definition: gdal.h:1148
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:460
GDALRATTableType
RAT table type (thematic or athematic)
Definition: gdal.h:1222
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalvirtualmem.cpp:1086
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1275
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:816
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition: gdalmultidim.cpp:6702
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:95
Virtual memory management.
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:6152
Definition: gdal.h:196
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset. ...
Definition: gdal_rat.cpp:1929
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1357
Definition: gdal.h:1352
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:871
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName) CPL_WARN_UNUSED_RESULT
Return an attribute by its name.
Definition: gdalmultidim.cpp:6345
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH) CPL_WARN_UNUSED_RESULT
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition: gdalmultidim.cpp:7480
short c1
Definition: gdal.h:1161
Definition: gdal.h:134
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:239
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:120
short c3
Definition: gdal.h:1167
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:62
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:3761
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition: gdalmultidim.cpp:6231
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:517
Definition: gdal.h:75
int GDALAttributeReadAsInt(GDALAttributeH hAttr)
Return the value of an attribute as a integer.
Definition: gdalmultidim.cpp:7077
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:415
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition: gdalmultidim.cpp:6922
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:2664
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1975
double dfLAT_OFF
Definition: gdal.h:1130
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:825
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2186
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition: gdal_misc.cpp:418
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:677
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition: gdalmultidim.cpp:5979
Definition: gdal.h:137
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:549
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:447
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition: gdal_misc.cpp:1191
GDALAttributeH GDALMDArrayCreateAttribute(GDALMDArrayH hArray, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a attribute within an array.
Definition: gdalmultidim.cpp:6400
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:783
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1690
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:4213
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:760
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1907
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:2142
short c2
Definition: gdal.h:1164
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4592
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the the array.
Definition: gdalmultidim.cpp:6844
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount) CPL_WARN_UNUSED_RESULT
Return the value of an attribute as an array of doubles.
Definition: gdalmultidim.cpp:7160
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:3158
double dfXOff
Definition: gdal.h:166
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:6687
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1485
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:273
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:3418
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2698
double dfHEIGHT_OFF
Definition: gdal.h:1132
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:565
Definition: gdal.h:1209
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition: gdalmultidim.cpp:5609
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:360
Definition: gdal.h:202
Definition: gdal.h:208
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition: cpl_port.h:269
Definition: gdal.h:65
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6331
Definition: gdal.h:138
GIntBig GPtrDiff_t
Integer type large enough to hold the difference between 2 addresses.
Definition: cpl_port.h:286
Definition: gdal.h:1224
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1467
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS) CPL_WARN_UNUSED_RESULT
Return the root GDALGroup of this dataset.
Definition: gdalmultidim.cpp:7451
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition: gdalmultidim.cpp:6936
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:4095
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:175
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:345
void * pProgressData
Definition: gdal.h:158
Definition: gdal.h:194
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:378
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:3093
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition: gdalrasterband.cpp:1583
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:959
GDALAttributeH * GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Return the list of attributes contained in this group.
Definition: gdalmultidim.cpp:5950
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount) CPL_WARN_UNUSED_RESULT
Return the dimension sizes of the attribute.
Definition: gdalmultidim.cpp:6955
Definition: gdal.h:1211
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:6586
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1420
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1044
Definition: gdal.h:1354
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:100
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1635
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:332
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:146
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1228
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition: gdal_rat.cpp:571
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition: gdalmultidim.cpp:7195
Definition: gdal.h:130
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1565
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:456
Definition: gdal.h:64
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition: gdaldataset.cpp:4508
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition: gdalmultidim.cpp:5767
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1864
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Return the list of multidimensional array names contained in this group.
Definition: gdalmultidim.cpp:5799
GDALProgressFunc pfnProgress
Definition: gdal.h:156
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:267
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
Definition: gdal.h:207
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:729
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition: gdal_rat.cpp:591
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:926
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:626
CPL error handling services.
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:75
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:1658
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition: gdalmultidim.cpp:6752
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp) CPL_WARN_UNUSED_RESULT
Construct a new color table.
Definition: gdalcolortable.cpp:69
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition: gdaldefaultasync.cpp:174
double dfYSize
Definition: gdal.h:172
Definition: gdal.h:195
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:4300
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1212
double dfLONG_OFF
Definition: gdal.h:1131
GDALDimensionH GDALGroupCreateDimension(GDALGroupH hGroup, const char *pszName, const char *pszType, const char *pszDirection, GUInt64 nSize, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a dimension within a group.
Definition: gdalmultidim.cpp:6036
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition: gdal.h:278
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:475
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2598
GDALExtendedDataTypeH GDALExtendedDataTypeCreateCompound(const char *pszName, size_t nTotalSize, size_t nComponents, const GDALEDTComponentH *comps) CPL_WARN_UNUSED_RESULT
Return a new GDALExtendedDataType of class GEDTC_COMPOUND.
Definition: gdalmultidim.cpp:5474
Definition: gdal.h:74
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition: gdaldataset.cpp:6910
Definition: gdal.h:221
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition: gdalmultidim.cpp:7376
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1565
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1357
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2708
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1751
Definition: gdal.h:1223
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:147
GDALDimensionH * GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Return the list of dimensions contained in this group and used by its arrays.
Definition: gdalmultidim.cpp:5895
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount) CPL_WARN_UNUSED_RESULT
Return the value of an attribute as an array of integers.
Definition: gdalmultidim.cpp:7131
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3119
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1703
GDALPaletteInterp
Definition: gdal.h:216
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1217
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:6265
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim) CPL_WARN_UNUSED_RESULT
Return the variable that is used to index the dimension (if there is one).
Definition: gdalmultidim.cpp:7409
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1933
int GDALMDArraySetNoDataValueAsDouble(GDALMDArrayH hArray, double dfNoDataValue)
Set the nodata value as a double.
Definition: gdalmultidim.cpp:6509
Definition: gdal.h:1215
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1314
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition: gdalmultidim.cpp:6908
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:2212
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1512
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition: gdalmultidim.cpp:7305
double dfLINE_SCALE
Definition: gdal.h:1134
double dfLINE_OFF
Definition: gdal.h:1128
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition: gdalmultidim.cpp:6803
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1313
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1602
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a new multidimensioanl dataset with this driver.
Definition: gdaldriver.cpp:410
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:6564
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition: cpl_port.h:251
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition: gdal.h:296
Definition: gdal.h:192
Definition: gdal.h:1207
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1657
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6242
Definition: gdal.h:220
double GDALAttributeReadAsDouble(GDALAttributeH hAttr)
Return the value of an attribute as a double.
Definition: gdalmultidim.cpp:7097
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Return the list of attributes contained in this array.
Definition: gdalmultidim.cpp:6374
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1721
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2066
GDALMDArrayH GDALMDArrayTranspose(GDALMDArrayH hArray, size_t nNewAxisCount, const int *panMapNewAxisToOldAxis)
Return a view of the array whose axis have been reordered.
Definition: gdalmultidim.cpp:6722
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition: gdalmultidim.cpp:5693
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2643
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:1184
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:6305
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2119
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:261
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1244
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:695
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:904
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition: gdaldefaultasync.cpp:233
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:200
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:3618
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1343
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:7012
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition: gdaldriver.cpp:99
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:252
void * OGRGeometryH
Opaque type for a geometry.
Definition: ogr_api.h:60
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition: gdalmultidim.cpp:6828
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:423
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1308
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1896
Definition: gdal.h:70
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition: gdalmultidim.cpp:7216
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:4241
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:314
void GDALMDArrayRelease(GDALMDArrayH hMDArray)
Release the GDAL in-memory object associated with a GDALMDArray.
Definition: gdalmultidim.cpp:6129
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:838
double dfSAMP_OFF
Definition: gdal.h:1129
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition: gdalmultidim.cpp:6686
Definition: gdal.h:199
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
Set default histogram.
Definition: gdalrasterband.cpp:5750
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:1012
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition: gdalmultidim.cpp:5500
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition: gdalmultidim.cpp:5752
double dfSAMP_SCALE
Definition: gdal.h:1135
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2116
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:663
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition: gdalmultidim.cpp:5708
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1816
CPLErr GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3545
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1448
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:136
Definition: gdal.h:131
Definition: gdal.h:1200
Definition: gdal.h:133
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:6785
size_t * GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount, size_t nMaxChunkMemory)
Return an optimal chunk size for read/write oerations, given the natural block size and memory constr...
Definition: gdalmultidim.cpp:6657
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6683
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount) CPL_WARN_UNUSED_RESULT
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND) ...
Definition: gdalmultidim.cpp:5633
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:504
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition: gdalmultidim.cpp:7348
Definition: gdal.h:197
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1349
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2569
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1669
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1554
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1958
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2342
GDALAccess
Definition: gdal.h:113
short c4
Definition: gdal.h:1170
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition: gdalmultidim.cpp:5513
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2245
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Open and return a sub-group.
Definition: gdalmultidim.cpp:5864
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition: gdalmultidim.cpp:5527
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2812
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:96
GDALMDArrayH GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Open and return a multidimensional array.
Definition: gdalmultidim.cpp:5821
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1844
Definition: gdal.h:69
Definition: gdal.h:1191
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition: gdalmultidim.cpp:6184
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:339
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1197
double dfLAT_SCALE
Definition: gdal.h:1136
Definition: gdal.h:203
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:248
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1827
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:361
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:1440
Definition: gdal.h:1205
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp) CPL_WARN_UNUSED_RESULT
Return the data type of the component.
Definition: gdalmultidim.cpp:5736
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:264
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:674
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2770
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Return the list of sub-groups contained in this group.
Definition: gdalmultidim.cpp:5842
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr) CPL_WARN_UNUSED_RESULT
Return the value of an attribute as an array of strings.
Definition: gdalmultidim.cpp:7113
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition: gdalmultidim.cpp:5555
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:161
double dfMAX_LONG
Definition: gdal.h:1147
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition: gdaldataset.cpp:1871
Definition: gdal.h:1213
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition: gdal_misc.cpp:445
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:268
Definition: gdal.h:205
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:7185
Definition: gdal.h:135
double dfXSize
Definition: gdal.h:170
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:3708
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:350
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition: gdalmultidim.cpp:6465
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:118
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:318
GDALColorInterp
Definition: gdal.h:190
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:305
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2550
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1234
double dfYOff
Definition: gdal.h:168
Numeric value.
Definition: gdal.h:280
Definition: gdal.h:209
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2319
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:671
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:3616
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:3703
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition: gdalmultidim.cpp:7390
Definition: gdal.h:132
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2444
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition: gdalmultidim.cpp:6621
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:3787
Definition: gdal.h:71
Definition: gdal.h:193
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:4562
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength) CPL_WARN_UNUSED_RESULT
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition: gdalmultidim.cpp:5450
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:372
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:3387
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:3952
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:905
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition: gdal_misc.cpp:281
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4621
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:316
GIntBig GInt64
Signed 64 bit integer type.
Definition: cpl_port.h:267
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:5893
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2987
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:233
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:223
Definition: gdal.h:114
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition: gdalmultidim.cpp:7259
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1159
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition: gdalmultidim.cpp:6170
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:680
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition: gdaldataset.cpp:1612
Definition: gdal.h:1193
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:153
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2365
Definition: gdal.h:218
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT
Construct empty table.
Definition: gdal_rat.cpp:1203
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition: gdal_rat.cpp:2252
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:5434
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition: gdal.h:294
Ground Control Point.
Definition: gdal.h:660
CPLErr
Error category.
Definition: cpl_error.h:52
void GDALDimensionRelease(GDALDimensionH hDim)
Release the GDAL in-memory object associated with a GDALDimension.
Definition: gdalmultidim.cpp:7321
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:356
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:355
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2853
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2733
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:7237
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1378
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1398
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:325
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1610
Definition: gdal.h:1202
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3960
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition: gdalmultidim.cpp:6877
String value.
Definition: gdal.h:282
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:942
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr) CPL_WARN_UNUSED_RESULT
Return the data type.
Definition: gdalmultidim.cpp:6978
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
Definition: gdal.h:120
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList) CPL_WARN_UNUSED_RESULT
Create a new dataset with this driver.
Definition: gdaldriver.cpp:317