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  GRIORA_LAST = GRIORA_Gauss
144 
145 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
146 /* and INIT_RASTERIO_EXTRA_ARG */
150 typedef struct
151 {
153  int nVersion;
154 
157 
159  GDALProgressFunc pfnProgress;
162 
169  double dfXOff;
171  double dfYOff;
173  double dfXSize;
175  double dfYSize;
177 
178 #ifndef DOXYGEN_SKIP
179 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
180 #endif
181 
185 #define INIT_RASTERIO_EXTRA_ARG(s) \
186  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
187  (s).eResampleAlg = GRIORA_NearestNeighbour; \
188  (s).pfnProgress = CPL_NULLPTR; \
189  (s).pProgressData = CPL_NULLPTR; \
190  (s).bFloatingPointWindowValidity = FALSE; } while(0)
191 
193 typedef enum
214 
215 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
216 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
217 
219 typedef enum
220 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
226 
228 
229 /* "well known" metadata items. */
230 
233 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
234 
236 # define GDALMD_AOP_AREA "Area"
237 
239 # define GDALMD_AOP_POINT "Point"
240 
241 /* -------------------------------------------------------------------- */
242 /* GDAL Specific error codes. */
243 /* */
244 /* error codes 100 to 299 reserved for GDAL. */
245 /* -------------------------------------------------------------------- */
246 #ifndef DOXYGEN_SKIP
247 #define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
248 #endif
249 
250 /* -------------------------------------------------------------------- */
251 /* Define handle types related to various internal classes. */
252 /* -------------------------------------------------------------------- */
253 
255 typedef void *GDALMajorObjectH;
256 
258 typedef void *GDALDatasetH;
259 
261 typedef void *GDALRasterBandH;
262 
264 typedef void *GDALDriverH;
265 
267 typedef void *GDALColorTableH;
268 
271 
273 typedef void *GDALAsyncReaderH;
274 
277 
281 typedef enum {
289 
291 typedef struct GDALExtendedDataTypeHS* GDALExtendedDataTypeH;
293 typedef struct GDALEDTComponentHS* GDALEDTComponentH;
295 typedef struct GDALGroupHS* GDALGroupH;
297 typedef struct GDALMDArrayHS* GDALMDArrayH;
299 typedef struct GDALAttributeHS* GDALAttributeH;
301 typedef struct GDALDimensionHS* GDALDimensionH;
302 
303 /* ==================================================================== */
304 /* Registration/driver related. */
305 /* ==================================================================== */
306 
308 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
309 
311 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
312 
314 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
315 
317 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
318 
323 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
324 
328 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
329 
331 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
332 
336 #define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
337 
341 #define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
342 
346 #define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
347 
351 #define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
352 
356 #define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
357 
361 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
362 
364 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
365 
369 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
370 
374 #define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
375 
377 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
378 
380 #define GDAL_DCAP_OPEN "DCAP_OPEN"
381 
390 #define GDAL_DCAP_CREATE "DCAP_CREATE"
391 
396 #define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
397 
406 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
407 
413 #define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
414 
418 #define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
419 
421 #define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
422 
424 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
425 
429 #define GDAL_DCAP_RASTER "DCAP_RASTER"
430 
434 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
435 
439 #define GDAL_DCAP_GNM "DCAP_GNM"
440 
444 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
445 
449 #define GDAL_DCAP_UNIQUE_FIELDS "DCAP_UNIQUE_FIELDS"
450 
454 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
455 
459 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
460 
466 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
467 
471 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
472 
476 #define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
477 
481 #define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
482 
486 #define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
487 
491 #define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
492 
496 #define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
497 
498 
499 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
500 
501 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
502  const char *, int, int, int, GDALDataType,
504 GDALDatasetH CPL_DLL CPL_STDCALL
505 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
506  int, CSLConstList, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
507 
508 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
509  CSLConstList papszFileList );
510 
511 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
512  const char *pszFilename, unsigned int nIdentifyFlags,
513  const char *const *papszAllowedDrivers, const char *const *papszFileList);
514 
515 GDALDatasetH CPL_DLL CPL_STDCALL
516 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
517 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
518 
519 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
520 /* equals to GA_ReadOnly and GA_Update */
521 
526 #define GDAL_OF_READONLY 0x00
527 
532 #define GDAL_OF_UPDATE 0x01
533 
538 #define GDAL_OF_ALL 0x00
539 
544 #define GDAL_OF_RASTER 0x02
545 
550 #define GDAL_OF_VECTOR 0x04
551 
556 #define GDAL_OF_GNM 0x08
557 
562 #define GDAL_OF_MULTIDIM_RASTER 0x10
563 
564 #ifndef DOXYGEN_SKIP
565 #define GDAL_OF_KIND_MASK 0x1E
566 #endif
567 
572 #define GDAL_OF_SHARED 0x20
573 
578 #define GDAL_OF_VERBOSE_ERROR 0x40
579 
586 #define GDAL_OF_INTERNAL 0x80
587 
597 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
598 
607 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
608 
617 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
618 
619 #ifndef DOXYGEN_SKIP
620 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
621  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
622 #define GDAL_OF_RESERVED_1 0x300
623 
625 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
626 #endif
627 
628 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
629  unsigned int nOpenFlags,
630  const char* const* papszAllowedDrivers,
631  const char* const* papszOpenOptions,
632  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
633 
634 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
635 
636 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
637 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
638 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
639 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
640 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
641 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
642 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
643 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
644 #ifndef DOXYGEN_SKIP
645 void CPL_DLL GDALDestroy( void );
646 #endif
647 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
648 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
649  const char * pszNewName,
650  const char * pszOldName );
651 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
652  const char * pszNewName,
653  const char * pszOldName);
654 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
655  CSLConstList papszCreationOptions);
656 
657 /* The following are deprecated */
658 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
659 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
660 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
661 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
662 
663 /* ==================================================================== */
664 /* GDAL_GCP */
665 /* ==================================================================== */
666 
668 typedef struct
669 {
671  char *pszId;
672 
674  char *pszInfo;
675 
677  double dfGCPPixel;
679  double dfGCPLine;
680 
682  double dfGCPX;
683 
685  double dfGCPY;
686 
688  double dfGCPZ;
689 } GDAL_GCP;
690 
691 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
692 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
693 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
694 
695 int CPL_DLL CPL_STDCALL
696 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
697  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
698 int CPL_DLL CPL_STDCALL
699 GDALInvGeoTransform( double *padfGeoTransformIn,
700  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
701 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
702  double *, double * );
703 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
704  const double *padfGeoTransform2,
705  double *padfGeoTransformOut);
706 
707 /* ==================================================================== */
708 /* major objects (dataset, and, driver, drivermanager). */
709 /* ==================================================================== */
710 
711 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
712 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
713 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, CSLConstList,
714  const char * );
715 const char CPL_DLL * CPL_STDCALL
716 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
717 CPLErr CPL_DLL CPL_STDCALL
718 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
719  const char * );
720 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
721 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
722 
723 /* ==================================================================== */
724 /* GDALDataset class ... normally this represents one file. */
725 /* ==================================================================== */
726 
728 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
729 
730 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
731 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
732 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
733 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
734 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
735 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
736 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
737 
738 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
739  CSLConstList papszOptions );
740 
741 GDALAsyncReaderH CPL_DLL CPL_STDCALL
742 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
743  int nXSize, int nYSize,
744  void *pBuf, int nBufXSize, int nBufYSize,
745  GDALDataType eBufType, int nBandCount, int* panBandMap,
746  int nPixelSpace, int nLineSpace, int nBandSpace,
747  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
748 
749 void CPL_DLL CPL_STDCALL
750 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
751 
752 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
753  GDALDatasetH hDS, GDALRWFlag eRWFlag,
754  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
755  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
756  int nBandCount, int *panBandCount,
757  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
758 
759 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
760  GDALDatasetH hDS, GDALRWFlag eRWFlag,
761  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
762  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
763  int nBandCount, int *panBandCount,
764  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
766 
767 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
768  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
769  int nBXSize, int nBYSize, GDALDataType eBDataType,
770  int nBandCount, int *panBandCount, CSLConstList papszOptions );
771 
772 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
773 OGRSpatialReferenceH CPL_DLL GDALGetSpatialRef( GDALDatasetH );
774 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
775 CPLErr CPL_DLL GDALSetSpatialRef( GDALDatasetH, OGRSpatialReferenceH );
776 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
777 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
778 
779 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
780 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
781 OGRSpatialReferenceH CPL_DLL GDALGetGCPSpatialRef( GDALDatasetH );
782 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
783 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
784  const char * );
785 CPLErr CPL_DLL GDALSetGCPs2( GDALDatasetH, int, const GDAL_GCP *,
787 
788 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
789 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
790 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
791 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
792 
793 CPLErr CPL_DLL CPL_STDCALL
794 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
795  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
796 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
797 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
798 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
799 
800 CPLErr CPL_DLL CPL_STDCALL
801  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
802 
803 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
804  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
805  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
806 
807 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
808  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
809  const char * const * constpapszOptions,
810  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
811 
812 CPLErr CPL_DLL
814  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
815  const char *pszResampling,
816  GDALProgressFunc pfnProgress, void *pProgressData );
817 
818 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
819 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
820 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
821 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
822 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
824  CSLConstList );
825 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
826  CSLConstList );
827 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
828 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature( GDALDatasetH hDS,
829  OGRLayerH* phBelongingLayer,
830  double* pdfProgressPct,
831  GDALProgressFunc pfnProgress,
832  void* pProgressData );
833 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
834 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
835  OGRGeometryH, const char * );
836 OGRErr CPL_DLL GDALDatasetAbortSQL( GDALDatasetH );
837 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
838 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
839 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
840 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
841 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
842 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
843 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
844 void CPL_DLL GDALDatasetClearStatistics(GDALDatasetH hDS);
845 
846 /* ==================================================================== */
847 /* GDALRasterBand ... one band/channel in a dataset. */
848 /* ==================================================================== */
849 
854 #define SRCVAL(papoSource, eSrcType, ii) \
855  (eSrcType == GDT_Byte ? \
856  CPL_REINTERPRET_CAST(const GByte*,papoSource)[ii] : \
857  (eSrcType == GDT_Float32 ? \
858  CPL_REINTERPRET_CAST(const float*,papoSource)[ii] : \
859  (eSrcType == GDT_Float64 ? \
860  CPL_REINTERPRET_CAST(const double*,papoSource)[ii] : \
861  (eSrcType == GDT_Int32 ? \
862  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[ii] : \
863  (eSrcType == GDT_UInt16 ? \
864  CPL_REINTERPRET_CAST(const GUInt16*,papoSource)[ii] : \
865  (eSrcType == GDT_Int16 ? \
866  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[ii] : \
867  (eSrcType == GDT_UInt32 ? \
868  CPL_REINTERPRET_CAST(const GUInt32*,papoSource)[ii] : \
869  (eSrcType == GDT_CInt16 ? \
870  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[(ii) * 2] : \
871  (eSrcType == GDT_CInt32 ? \
872  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[(ii) * 2] : \
873  (eSrcType == GDT_CFloat32 ? \
874  CPL_REINTERPRET_CAST(const float*,papoSource)[(ii) * 2] : \
875  (eSrcType == GDT_CFloat64 ? \
876  CPL_REINTERPRET_CAST(const double*,papoSource)[(ii) * 2] : 0)))))))))))
877 
880 typedef CPLErr
881 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
882  int nBufXSize, int nBufYSize,
883  GDALDataType eSrcType, GDALDataType eBufType,
884  int nPixelSpace, int nLineSpace);
885 
886 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
887 void CPL_DLL CPL_STDCALL
888 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
889 
890 CPLErr CPL_DLL CPL_STDCALL
891 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
892  int *pnXValid, int *pnYValid );
893 
894 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
895  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
896  int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions );
897 
898 CPLErr CPL_DLL CPL_STDCALL
899 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
900  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
901  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
902  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
903 CPLErr CPL_DLL CPL_STDCALL
904 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
905  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
906  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
907  GSpacing nPixelSpace, GSpacing nLineSpace,
909 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
910 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
911 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
912 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
913 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
914 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
915 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
916 
917 GDALColorInterp CPL_DLL CPL_STDCALL
918 GDALGetRasterColorInterpretation( GDALRasterBandH );
919 CPLErr CPL_DLL CPL_STDCALL
921 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );
922 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
923 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
924 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
925 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
926 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
927 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
928 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
929 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
930 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, CSLConstList );
931 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
932 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
933 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
934  GDALRasterBandH, int bApproxOK, int bForce,
935  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
936 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
937  GDALRasterBandH, int bApproxOK,
938  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
939  GDALProgressFunc pfnProgress, void *pProgressData );
940 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
941  GDALRasterBandH hBand,
942  double dfMin, double dfMax, double dfMean, double dfStdDev );
943 
944 GDALMDArrayH CPL_DLL GDALRasterBandAsMDArray(GDALRasterBandH) CPL_WARN_UNUSED_RESULT;
945 
946 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
947 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
948 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
949 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
950 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
951 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
952 void CPL_DLL CPL_STDCALL
953 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
954  double adfMinMax[2] );
955 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
956 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
957  double dfMin, double dfMax,
958  int nBuckets, int *panHistogram,
959  int bIncludeOutOfRange, int bApproxOK,
960  GDALProgressFunc pfnProgress,
961  void * pProgressData )
963  CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
965  ;
966 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
967  double dfMin, double dfMax,
968  int nBuckets, GUIntBig *panHistogram,
969  int bIncludeOutOfRange, int bApproxOK,
970  GDALProgressFunc pfnProgress,
971  void * pProgressData );
972 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
973  double *pdfMin, double *pdfMax,
974  int *pnBuckets, int **ppanHistogram,
975  int bForce,
976  GDALProgressFunc pfnProgress,
977  void * pProgressData )
979  CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
981  ;
982 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
983  double *pdfMin, double *pdfMax,
984  int *pnBuckets, GUIntBig **ppanHistogram,
985  int bForce,
986  GDALProgressFunc pfnProgress,
987  void * pProgressData );
988 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
989  double dfMin, double dfMax,
990  int nBuckets, int *panHistogram )
992  CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
994  ;
995 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
996  double dfMin, double dfMax,
997  int nBuckets, GUIntBig *panHistogram );
998 int CPL_DLL CPL_STDCALL
999 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
1000 GDALRasterBandH CPL_DLL CPL_STDCALL
1001 GDALGetRasterSampleOverview( GDALRasterBandH, int );
1002 GDALRasterBandH CPL_DLL CPL_STDCALL
1003 GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig );
1004 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
1005  double dfRealValue, double dfImaginaryValue );
1006 CPLErr CPL_DLL CPL_STDCALL
1007 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
1008  double *pdfMean, double *pdfStdDev,
1009  GDALProgressFunc pfnProgress,
1010  void *pProgressData );
1011 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
1012  int nOverviewCount,
1013  GDALRasterBandH *pahOverviews,
1014  GDALProgressFunc pfnProgress,
1015  void *pProgressData );
1016 
1017 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
1018  GDALRasterBandH hBand );
1019 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
1021 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
1022  GDALDerivedPixelFunc pfnPixelFunc );
1023 
1024 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
1025 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
1026 CPLErr CPL_DLL CPL_STDCALL
1027  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
1028 
1030 #define GMF_ALL_VALID 0x01
1031 
1033 #define GMF_PER_DATASET 0x02
1034 
1036 #define GMF_ALPHA 0x04
1037 
1039 #define GMF_NODATA 0x08
1040 
1044 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1045 
1050 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1051 
1057 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1058 
1059 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
1060  int nXOff, int nYOff,
1061  int nXSize, int nYSize,
1062  int nMaskFlagStop,
1063  double* pdfDataPct );
1064 
1065 /* ==================================================================== */
1066 /* GDALAsyncReader */
1067 /* ==================================================================== */
1068 
1069 GDALAsyncStatusType CPL_DLL CPL_STDCALL
1070 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
1071  int* pnXBufOff, int* pnYBufOff,
1072  int* pnXBufSize, int* pnYBufSize );
1073 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
1074  double dfTimeout);
1075 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
1076 
1077 /* -------------------------------------------------------------------- */
1078 /* Helper functions. */
1079 /* -------------------------------------------------------------------- */
1080 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
1081  int nOptions );
1082 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
1083  int nWordSkip );
1084 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
1085  int nWordSkip );
1086 
1087 void CPL_DLL CPL_STDCALL
1088  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
1089  GDALDataType eSrcType, int nSrcPixelOffset,
1090  void * CPL_RESTRICT pDstData,
1091  GDALDataType eDstType, int nDstPixelOffset,
1092  int nWordCount );
1093 
1094 void CPL_DLL CPL_STDCALL
1095  GDALCopyWords64( const void * CPL_RESTRICT pSrcData,
1096  GDALDataType eSrcType, int nSrcPixelOffset,
1097  void * CPL_RESTRICT pDstData,
1098  GDALDataType eDstType, int nDstPixelOffset,
1099  GPtrDiff_t nWordCount );
1100 
1101 void CPL_DLL
1102 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
1103  GByte *pabyDstData, int nDstOffset, int nDstStep,
1104  int nBitCount, int nStepCount );
1105 
1106 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
1107 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
1108  double * );
1109 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
1110  double * );
1111 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
1112  int *, GDAL_GCP ** );
1113 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
1114  int *, GDAL_GCP ** );
1115 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
1116  int *, GDAL_GCP ** );
1117 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
1118  char **, int *, GDAL_GCP ** );
1119 
1120 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
1121 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
1122 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
1123 
1124 /* Note to developers : please keep this section in sync with ogr_core.h */
1125 
1126 #ifndef GDAL_VERSION_INFO_DEFINED
1127 #ifndef DOXYGEN_SKIP
1128 #define GDAL_VERSION_INFO_DEFINED
1129 #endif
1130 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
1131 #endif
1132 
1133 #ifndef GDAL_CHECK_VERSION
1134 
1135 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
1136  const char* pszCallingComponentName);
1137 
1141 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1142  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1143 
1144 #endif
1145 
1148 typedef struct
1149 {
1150  double dfLINE_OFF;
1151  double dfSAMP_OFF;
1152  double dfLAT_OFF;
1153  double dfLONG_OFF;
1154  double dfHEIGHT_OFF;
1156  double dfLINE_SCALE;
1157  double dfSAMP_SCALE;
1158  double dfLAT_SCALE;
1159  double dfLONG_SCALE;
1162  double adfLINE_NUM_COEFF[20];
1163  double adfLINE_DEN_COEFF[20];
1164  double adfSAMP_NUM_COEFF[20];
1165  double adfSAMP_DEN_COEFF[20];
1167  double dfMIN_LONG;
1168  double dfMIN_LAT;
1169  double dfMAX_LONG;
1170  double dfMAX_LAT;
1171 } GDALRPCInfo;
1172 
1173 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( CSLConstList, GDALRPCInfo * );
1174 
1175 /* ==================================================================== */
1176 /* Color tables. */
1177 /* ==================================================================== */
1178 
1180 typedef struct
1181 {
1183  short c1;
1184 
1186  short c2;
1187 
1189  short c3;
1190 
1192  short c4;
1193 } GDALColorEntry;
1194 
1195 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT;
1196 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1197 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1198 GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH );
1199 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1200 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1201 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1202 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1203 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1204  int nStartIndex, const GDALColorEntry *psStartColor,
1205  int nEndIndex, const GDALColorEntry *psEndColor );
1206 
1207 /* ==================================================================== */
1208 /* Raster Attribute Table */
1209 /* ==================================================================== */
1210 
1217 
1219 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
1240 
1248 
1249 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1251 
1252 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1253  GDALRasterAttributeTableH );
1254 
1255 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1256 
1257 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1258  GDALRasterAttributeTableH, int );
1259 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1260  GDALRasterAttributeTableH, int );
1261 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1262  GDALRasterAttributeTableH, int );
1263 
1264 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1265  GDALRATFieldUsage );
1266 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1267 
1268 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1269  GDALRasterAttributeTableH, int, int);
1270 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1271  GDALRasterAttributeTableH, int, int);
1272 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1273  GDALRasterAttributeTableH, int, int);
1274 
1275 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1276  const char * );
1277 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1278  int );
1279 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1280  double );
1281 
1282 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1283 
1284 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1285  int iField, int iStartRow, int iLength, double *pdfData );
1286 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1287  int iField, int iStartRow, int iLength, int *pnData);
1288 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1289  int iField, int iStartRow, int iLength, CSLConstList papszStrList);
1290 
1291 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1292  int );
1293 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
1294  const char *,
1295  GDALRATFieldType,
1296  GDALRATFieldUsage );
1297 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
1298  double, double );
1299 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1300  double *, double * );
1301 CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType( GDALRasterAttributeTableH hRAT,
1302  const GDALRATTableType eInTableType );
1303 GDALRATTableType CPL_DLL CPL_STDCALL GDALRATGetTableType( GDALRasterAttributeTableH hRAT);
1304 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1305  GDALRasterAttributeTableH, GDALColorTableH );
1306 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1307  GDALRasterAttributeTableH, int nEntryCount );
1308 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1309  FILE * );
1310 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1311  GDALRATClone( const GDALRasterAttributeTableH );
1312 
1313 void CPL_DLL* CPL_STDCALL
1314  GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT;
1315 
1316 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1317 void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics( GDALRasterAttributeTableH );
1318 
1319 /* ==================================================================== */
1320 /* GDAL Cache Management */
1321 /* ==================================================================== */
1322 
1323 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1324 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1325 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1326 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1327 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1328 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1329 
1330 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1331 
1332 /* ==================================================================== */
1333 /* GDAL virtual memory */
1334 /* ==================================================================== */
1335 
1336 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1337  GDALRWFlag eRWFlag,
1338  int nXOff, int nYOff,
1339  int nXSize, int nYSize,
1340  int nBufXSize, int nBufYSize,
1341  GDALDataType eBufType,
1342  int nBandCount, int* panBandMap,
1343  int nPixelSpace,
1344  GIntBig nLineSpace,
1345  GIntBig nBandSpace,
1346  size_t nCacheSize,
1347  size_t nPageSizeHint,
1348  int bSingleThreadUsage,
1349  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1350 
1351 CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1352  GDALRWFlag eRWFlag,
1353  int nXOff, int nYOff,
1354  int nXSize, int nYSize,
1355  int nBufXSize, int nBufYSize,
1356  GDALDataType eBufType,
1357  int nPixelSpace,
1358  GIntBig nLineSpace,
1359  size_t nCacheSize,
1360  size_t nPageSizeHint,
1361  int bSingleThreadUsage,
1362  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1363 
1364 CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1365  GDALRWFlag eRWFlag,
1366  int *pnPixelSpace,
1367  GIntBig *pnLineSpace,
1368  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1369 
1371 typedef enum
1372 {
1380 
1381 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1382  GDALRWFlag eRWFlag,
1383  int nXOff, int nYOff,
1384  int nXSize, int nYSize,
1385  int nTileXSize, int nTileYSize,
1386  GDALDataType eBufType,
1387  int nBandCount, int* panBandMap,
1388  GDALTileOrganization eTileOrganization,
1389  size_t nCacheSize,
1390  int bSingleThreadUsage,
1391  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1392 
1393 CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1394  GDALRWFlag eRWFlag,
1395  int nXOff, int nYOff,
1396  int nXSize, int nYSize,
1397  int nTileXSize, int nTileYSize,
1398  GDALDataType eBufType,
1399  size_t nCacheSize,
1400  int bSingleThreadUsage,
1401  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1402 
1403 /* ==================================================================== */
1404 /* VRTPansharpenedDataset class. */
1405 /* ==================================================================== */
1406 
1407 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1408  GDALRasterBandH hPanchroBand,
1409  int nInputSpectralBands,
1410  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1411 
1412 /* =================================================================== */
1413 /* Misc API */
1414 /* ==================================================================== */
1415 
1416 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1417  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1418 
1419 /* ==================================================================== */
1420 /* Multidimensional API_api */
1421 /* ==================================================================== */
1422 
1423 GDALDatasetH CPL_DLL GDALCreateMultiDimensional( GDALDriverH hDriver,
1424  const char * pszName,
1425  CSLConstList papszRootGroupOptions,
1426  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1427 
1431  const char* pszName, size_t nTotalSize,
1432  size_t nComponents, const GDALEDTComponentH* comps) CPL_WARN_UNUSED_RESULT;
1434 const char CPL_DLL* GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
1440 void CPL_DLL GDALExtendedDataTypeFreeComponents(GDALEDTComponentH* components, size_t nCount);
1442  GDALExtendedDataTypeH hTargetEDT);
1444  GDALExtendedDataTypeH hSecondEDT);
1445 
1446 GDALEDTComponentH CPL_DLL GDALEDTComponentCreate(const char* pszName, size_t nOffset, GDALExtendedDataTypeH hType) CPL_WARN_UNUSED_RESULT;
1447 void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
1448 const char CPL_DLL* GDALEDTComponentGetName(GDALEDTComponentH hComp);
1449 size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
1451 
1453 void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
1454 const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
1455 const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
1456 char CPL_DLL **GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1457 GDALMDArrayH CPL_DLL GDALGroupOpenMDArray(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1458 GDALMDArrayH CPL_DLL GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1460  const char* pszName,
1461  const char* pszStartingPoint,
1462  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1463 char CPL_DLL **GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1464 GDALGroupH CPL_DLL GDALGroupOpenGroup(GDALGroupH hGroup, const char* pszSubGroupName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1465 GDALGroupH CPL_DLL GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1466 GDALDimensionH CPL_DLL *GDALGroupGetDimensions(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1467 GDALAttributeH CPL_DLL GDALGroupGetAttribute(GDALGroupH hGroup, const char* pszName) CPL_WARN_UNUSED_RESULT;
1468 GDALAttributeH CPL_DLL *GDALGroupGetAttributes(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1469 CSLConstList CPL_DLL GDALGroupGetStructuralInfo(GDALGroupH hGroup);
1471  const char* pszSubGroupName,
1472  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1474  const char* pszName,
1475  const char* pszType,
1476  const char* pszDirection,
1477  GUInt64 nSize,
1478  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1480  const char* pszName,
1481  size_t nDimensions,
1482  GDALDimensionH* pahDimensions,
1483  GDALExtendedDataTypeH hEDT,
1484  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1486  const char* pszName,
1487  size_t nDimensions,
1488  const GUInt64* panDimensions,
1489  GDALExtendedDataTypeH hEDT,
1490  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1491 
1492 void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
1493 const char CPL_DLL* GDALMDArrayGetName(GDALMDArrayH hArray);
1494 const char CPL_DLL* GDALMDArrayGetFullName(GDALMDArrayH hArray);
1496 size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
1499 int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray,
1500  const GUInt64* arrayStartIdx,
1501  const size_t* count,
1502  const GInt64* arrayStep,
1503  const GPtrDiff_t* bufferStride,
1504  GDALExtendedDataTypeH bufferDatatype,
1505  void* pDstBuffer,
1506  const void* pDstBufferAllocStart,
1507  size_t nDstBufferllocSize);
1508 int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray,
1509  const GUInt64* arrayStartIdx,
1510  const size_t* count,
1511  const GInt64* arrayStep,
1512  const GPtrDiff_t* bufferStride,
1513  GDALExtendedDataTypeH bufferDatatype,
1514  const void* pSrcBuffer,
1515  const void* psrcBufferAllocStart,
1516  size_t nSrcBufferllocSize);
1517 int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
1518  const GUInt64* arrayStartIdx,
1519  const size_t* count);
1520 GDALAttributeH CPL_DLL GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char* pszName) CPL_WARN_UNUSED_RESULT;
1521 GDALAttributeH CPL_DLL *GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1523  const char* pszName,
1524  size_t nDimensions,
1525  const GUInt64* panDimensions,
1526  GDALExtendedDataTypeH hEDT,
1527  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1528 const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
1529 double CPL_DLL GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray,
1530  int* pbHasNoDataValue);
1531 int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void*);
1533  double dfNoDataValue);
1534 int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
1535 double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
1536 int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
1537 double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
1538 GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
1539 int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char*);
1540 const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
1541 int CPL_DLL GDALMDArraySetSpatialRef( GDALMDArrayH, OGRSpatialReferenceH );
1542 OGRSpatialReferenceH CPL_DLL GDALMDArrayGetSpatialRef(GDALMDArrayH hArray);
1543 size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount,
1544  size_t nMaxChunkMemory);
1545 CSLConstList CPL_DLL GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray);
1546 GDALMDArrayH CPL_DLL GDALMDArrayGetView(GDALMDArrayH hArray, const char* pszViewExpr);
1548  size_t nNewAxisCount,
1549  const int *panMapNewAxisToOldAxis);
1551 GDALMDArrayH CPL_DLL GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions);
1552 GDALDatasetH CPL_DLL GDALMDArrayAsClassicDataset(GDALMDArrayH hArray,
1553  size_t iXDim, size_t iYDim);
1555  GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
1556  double *pdfMin, double *pdfMax,
1557  double *pdfMean, double *pdfStdDev,
1558  GUInt64* pnValidCount,
1559  GDALProgressFunc pfnProgress, void *pProgressData );
1560 int CPL_DLL GDALMDArrayComputeStatistics( GDALMDArrayH hArray, GDALDatasetH,
1561  int bApproxOK,
1562  double *pdfMin, double *pdfMax,
1563  double *pdfMean, double *pdfStdDev,
1564  GUInt64* pnValidCount,
1565  GDALProgressFunc, void *pProgressData );
1566 
1567 void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
1568 void CPL_DLL GDALReleaseAttributes(GDALAttributeH* attributes, size_t nCount);
1569 const char CPL_DLL* GDALAttributeGetName(GDALAttributeH hAttr);
1570 const char CPL_DLL* GDALAttributeGetFullName(GDALAttributeH hAttr);
1572 size_t CPL_DLL GDALAttributeGetDimensionCount(GDALAttributeH hAttr);
1575 GByte CPL_DLL *GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize) CPL_WARN_UNUSED_RESULT;
1576 void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte* raw, size_t nSize);
1577 const char CPL_DLL* GDALAttributeReadAsString(GDALAttributeH hAttr);
1578 int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
1579 double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
1581 int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1582 double CPL_DLL *GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1583 int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void*, size_t);
1584 int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char*);
1585 int CPL_DLL GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList);
1586 int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
1587 int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
1588 int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double*, size_t);
1589 
1590 void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
1591 void CPL_DLL GDALReleaseDimensions(GDALDimensionH* dims, size_t nCount);
1592 const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
1593 const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
1594 const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
1595 const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
1599 
1600 CPL_C_END
1601 
1602 #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:8123
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:7498
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1438
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3834
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Open and return a sub-group.
Definition: gdalmultidim.cpp:6828
Definition: gdal.h:203
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition: gdalmultidim.cpp:6591
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:3133
CPLVirtualMem * GDALDatasetGetVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace, GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:959
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:525
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:7554
Definition: gdal.h:115
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition: gdalmultidim.cpp:8087
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition: gdalmultidim.cpp:7958
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition: gdalmultidim.cpp:7782
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:1118
double dfMIN_LAT
Definition: gdal.h:1168
Definition: gdal.h:1226
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:983
GDALDataType
Definition: gdal.h:60
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition: gdal.h:301
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition: rasterio.cpp:4451
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:5359
Definition: gdal.h:1220
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:674
Definition: gdal.h:1238
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands)
Create a virtual pansharpened dataset.
Definition: vrtpansharpened.cpp:93
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:6503
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition: gdalmultidim.cpp:8428
Definition: gdal.h:1228
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:4276
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition: gdal.h:291
GDALExtendedDataTypeH GDALExtendedDataTypeCreateCompound(const char *pszName, size_t nTotalSize, size_t nComponents, const GDALEDTComponentH *comps)
Return a new GDALExtendedDataType of class GEDTC_COMPOUND.
Definition: gdalmultidim.cpp:6388
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:677
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2349
Definition: gdal.h:1232
Definition: gdal.h:1378
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:2831
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:130
Definition: gdal.h:1214
Definition: gdal.h:204
Definition: gdal.h:62
CPLVirtualMem * GDALRasterBandGetTiledVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, size_t nCacheSize, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1669
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:3090
Compound data type.
Definition: gdal.h:287
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition: gdalmultidim.cpp:8546
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:8576
Definition: gdal.h:222
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:399
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
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdaldataset.cpp:1972
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:5793
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:7536
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:273
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
int bFloatingPointWindowValidity
Definition: gdal.h:167
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition: gdalmultidim.cpp:8400
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
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1276
Definition: gdal.h:209
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition: gdal_rat.cpp:1203
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1107
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:317
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition: gdaldataset.cpp:8282
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition: gdalmultidim.cpp:8303
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:2124
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
Definition: gdal.h:201
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
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this array.
Definition: gdalmultidim.cpp:7382
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition: gdalmultidim.cpp:7353
Definition: gdal.h:121
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
Definition: gdal.h:1230
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:987
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition: gdalmultidim.cpp:7143
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1849
GDALMDArrayH GDALGroupCreateMDArray(GDALGroupH hGroup, const char *pszName, size_t nDimensions, GDALDimensionH *pahDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a multidimensional array within a group.
Definition: gdalmultidim.cpp:7052
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition: gdaldriver.cpp:1065
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:5749
CPLErr GDALDatasetRasterIOEx(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2624
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1212
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition: gdalmultidim.cpp:6485
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:1588
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:576
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:4806
Definition: gdal.h:1223
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition: gdalcolortable.cpp:69
Definition: gdal.h:1236
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:4374
double dfLONG_SCALE
Definition: gdal.h:1159
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition: gdalmultidim.cpp:6650
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
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:5837
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5701
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition: gdalmultidim.cpp:8021
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:620
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition: gdalmultidim.cpp:7869
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition: gdal.h:295
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:8347
Definition: gdal.h:1234
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:128
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:2231
CPLErr GDALDatasetRasterIO(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace)
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2595
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:1613
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions)
Create a new multidimensioanl dataset with this driver.
Definition: gdaldriver.cpp:368
int GDALExtractRPCInfo(CSLConstList, GDALRPCInfo *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3420
GDALRWFlag
Definition: gdal.h:119
double dfMIN_LONG
Definition: gdal.h:1167
int nVersion
Definition: gdal.h:153
int GDALDimensionSetIndexingVariable(GDALDimensionH hDim, GDALMDArrayH hArray)
Set the variable that is used to index the dimension.
Definition: gdalmultidim.cpp:8497
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:258
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:6572
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:1180
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:7317
Definition: gdal.h:207
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:899
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition: gdal.h:293
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1534
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1148
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:6981
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition: gdalmultidim.cpp:6636
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1557
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition: gdalmultidim.cpp:6455
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:261
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
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition: gdalmultidim.cpp:7000
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:4571
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:7447
Definition: gdal.h:61
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition: gdalmultidim.cpp:7129
Definition: gdal.h:1225
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition: gdalmultidim.cpp:6697
Definition: gdal.h:1221
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition: gdalmultidim.cpp:6806
double dfHEIGHT_SCALE
Definition: gdal.h:1160
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:999
double dfMAX_LAT
Definition: gdal.h:1170
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:1244
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:7710
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:6151
Definition: gdal.h:199
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS)
Return the root GDALGroup of this dataset.
Definition: gdalmultidim.cpp:8517
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:566
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:1374
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:881
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2407
short c1
Definition: gdal.h:1183
Definition: gdal.h:134
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:239
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList)
Create a new dataset with this driver.
Definition: gdaldriver.cpp:275
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:120
short c3
Definition: gdal.h:1189
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:3759
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition: gdalmultidim.cpp:7218
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:518
Definition: gdal.h:75
int GDALAttributeReadAsInt(GDALAttributeH hAttr)
Return the value of an attribute as a integer.
Definition: gdalmultidim.cpp:8143
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:415
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition: gdalmultidim.cpp:6364
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition: gdalmultidim.cpp:7988
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:2690
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1975
double dfLAT_OFF
Definition: gdal.h:1152
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:685
GDALAttributeH GDALGroupCreateAttribute(GDALGroupH hGroup, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a attribute within a group.
Definition: gdalmultidim.cpp:7085
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition: gdalmultidim.cpp:6966
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
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
CPLErr GDALMDArrayGetStatistics(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch statistics.
Definition: gdalmultidim.cpp:7888
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:4305
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:1942
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:2075
short c2
Definition: gdal.h:1186
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4748
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the the array.
Definition: gdalmultidim.cpp:7852
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:3193
double dfXOff
Definition: gdal.h:169
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:276
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:2724
double dfHEIGHT_OFF
Definition: gdal.h:1154
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:565
Definition: gdal.h:1231
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition: gdalmultidim.cpp:6523
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:361
Definition: gdal.h:205
Definition: gdal.h:211
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition: cpl_port.h:269
Definition: gdal.h:65
GDALAttributeH * GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this group.
Definition: gdalmultidim.cpp:6937
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6330
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:1246
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1467
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition: gdalmultidim.cpp:8002
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:4426
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:161
Definition: gdal.h:197
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:3020
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition: gdalrasterband.cpp:1583
Definition: gdal.h:1233
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:7594
GDALMDArrayH GDALGroupResolveMDArray(GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint, CSLConstList papszOptions)
Locate an array in a group and its subgroups by name.
Definition: gdalmultidim.cpp:6780
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:1376
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
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition: gdalmultidim.cpp:7194
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition: gdalmultidim.cpp:8261
Definition: gdal.h:130
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1498
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:4626
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition: gdalmultidim.cpp:6681
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1864
GDALProgressFunc pfnProgress
Definition: gdal.h:159
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:270
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
Definition: gdal.h:210
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 spatial reference 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
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition: gdalmultidim.cpp:7760
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition: gdaldefaultasync.cpp:174
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition: rasterio.cpp:4778
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition: gdalmultidim.cpp:8044
double dfYSize
Definition: gdal.h:175
Definition: gdal.h:198
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:4411
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1216
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition: gdalmultidim.cpp:7235
double dfLONG_OFF
Definition: gdal.h:1153
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition: gdal.h:281
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:475
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:7097
Definition: gdal.h:224
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition: gdalmultidim.cpp:8442
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
GDALDatasetH GDALOpenEx(const char *pszFilename, unsigned int nOpenFlags, const char *const *papszAllowedDrivers, const char *const *papszOpenOptions, const char *const *papszSiblingFiles)
Open a raster or vector file as a GDALDataset.
Definition: gdaldataset.cpp:3237
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2708
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND) ...
Definition: gdalmultidim.cpp:6547
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1751
Definition: gdal.h:1245
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:150
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition: gdalmultidim.cpp:8197
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:1659
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1703
GDALPaletteInterp
Definition: gdal.h:219
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1217
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition: gdaltransformer.cpp:3785
GDALAsyncReaderH GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace, CSLConstList papszOptions)
Sets up an asynchronous data request.
Definition: gdaldataset.cpp:3954
GDALDimensionH * GDALGroupGetDimensions(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of dimensions contained in this group and used by its arrays.
Definition: gdalmultidim.cpp:6882
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:7252
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:7517
Definition: gdal.h:1237
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:7974
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:8371
double dfLINE_SCALE
Definition: gdal.h:1156
double dfLINE_OFF
Definition: gdal.h:1150
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition: gdalmultidim.cpp:7811
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1246
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1535
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition: gdalmultidim.cpp:6345
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:7572
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:299
Definition: gdal.h:195
Definition: gdal.h:1229
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:6241
Definition: gdal.h:223
double GDALAttributeReadAsDouble(GDALAttributeH hAttr)
Return the value of an attribute as a double.
Definition: gdalmultidim.cpp:8163
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1654
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:722
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition: gdalmultidim.cpp:6713
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:7730
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition: gdalmultidim.cpp:6607
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:7292
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition: gdalmultidim.cpp:6758
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:264
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:3656
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:7199
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition: gdaldriver.cpp:94
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:255
void * OGRGeometryH
Opaque type for a geometry.
Definition: ogr_api.h:60
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition: gdalmultidim.cpp:7836
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
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition: gdalmultidim.cpp:6851
Definition: gdal.h:70
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition: gdalmultidim.cpp:8282
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:4338
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:7116
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:838
double dfSAMP_OFF
Definition: gdal.h:1151
GDALAttributeH GDALMDArrayCreateAttribute(GDALMDArrayH hArray, const char *pszName, size_t nDimensions, const GUInt64 *panDimensions, GDALExtendedDataTypeH hEDT, CSLConstList papszOptions)
Create a attribute within an array.
Definition: gdalmultidim.cpp:7408
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:6688
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition: gdalmultidim.cpp:7694
Definition: gdal.h:202
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:6414
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition: gdalmultidim.cpp:6666
double dfSAMP_SCALE
Definition: gdal.h:1157
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:671
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition: gdalmultidim.cpp:6622
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1851
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition: gdalmultidim.cpp:8179
CPLErr GDALGetRasterHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:3352
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:1222
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:6786
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:7665
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6870
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition: gdalmultidim.cpp:8066
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:8414
Definition: gdal.h:200
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1371
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:1192
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition: gdalmultidim.cpp:6427
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2245
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition: gdalmultidim.cpp:6441
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2812
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:96
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition: gdalmultidim.cpp:8226
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1844
Definition: gdal.h:69
Definition: gdal.h:1213
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition: gdalmultidim.cpp:7171
#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:1219
double dfLAT_SCALE
Definition: gdal.h:1158
Definition: gdal.h:206
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
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition: gdalmultidim.cpp:7334
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:1373
Definition: gdal.h:1227
CPLVirtualMem * GDALDatasetGetTiledVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization, size_t nCacheSize, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1554
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:267
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:682
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition: gdalmultidim.cpp:8475
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2770
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition: gdalmultidim.cpp:6908
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition: gdalmultidim.cpp:6469
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:1169
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition: gdaldataset.cpp:1871
Definition: gdal.h:1235
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:208
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:7372
Definition: gdal.h:135
double dfXSize
Definition: gdal.h:173
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:7473
CPLErr GDALRasterIO(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nPixelSpace, int nLineSpace)
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:395
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:113
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:318
GDALColorInterp
Definition: gdal.h:193
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:171
Numeric value.
Definition: gdal.h:283
Definition: gdal.h:212
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2319
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:679
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:3757
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition: gdalmultidim.cpp:8456
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:7629
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3631
Definition: gdal.h:71
int GDALMDArrayComputeStatistics(GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GUInt64 *pnValidCount, GDALProgressFunc, void *pProgressData)
Compute statistics.
Definition: gdalmultidim.cpp:7917
Definition: gdal.h:196
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:4680
CPLErr GDALRasterIOEx(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:423
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:3422
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:4006
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:905
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3142
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:4777
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition: gdaldataset.cpp:4724
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:5892
GDALMDArrayH GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array.
Definition: gdalmultidim.cpp:6735
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:3013
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
CPLVirtualMem * GDALRasterBandGetVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, CSLConstList papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalvirtualmem.cpp:1086
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:8325
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:7157
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:688
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition: gdaldataset.cpp:1612
Definition: gdal.h:1215
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:156
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2365
Definition: gdal.h:221
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:5433
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition: gdal.h:297
Ground Control Point.
Definition: gdal.h:668
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:8387
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:356
CPLErr GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3545
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:355
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2853
GDALDimensionH GDALGroupCreateDimension(GDALGroupH hGroup, const char *pszName, const char *pszType, const char *pszDirection, GUInt64 nSize, CSLConstList papszOptions)
Create a dimension within a group.
Definition: gdalmultidim.cpp:7023
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:7424
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:1224
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:4291
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition: gdalmultidim.cpp:7943
String value.
Definition: gdal.h:285
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:946
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
Definition: gdal.h:120