GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id$
3  *
4  * Project: GDAL Core
5  * Purpose: GDAL Core C/Public declarations.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 1998, 2002 Frank Warmerdam
10  * Copyright (c) 2007-2014, Even Rouault <even dot rouault at spatialys.com>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef GDAL_H_INCLUDED
32 #define GDAL_H_INCLUDED
33 
40 #ifndef DOXYGEN_SKIP
41 #if defined(GDAL_COMPILATION)
42 #define DO_NOT_DEFINE_GDAL_DATE_NAME
43 #endif
44 #include "gdal_version.h"
45 #include "cpl_port.h"
46 #include "cpl_error.h"
47 #include "cpl_progress.h"
48 #include "cpl_virtualmem.h"
49 #include "cpl_minixml.h"
50 #include "ogr_api.h"
51 #endif
52 
53 #include <stdbool.h>
54 #include <stdint.h>
55 
56 /* -------------------------------------------------------------------- */
57 /* Significant constants. */
58 /* -------------------------------------------------------------------- */
59 
61 
63 typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5, GDT_UInt64 = 12, GDT_Int64 = 13, GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
76  /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
79  GDT_TypeCount = 14 /* maximum type # + 1 */
80 } GDALDataType;
81 
82 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated.
83 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
84 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
85 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
86 int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger( GDALDataType );
87 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
88 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
89 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
90 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
92 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
93 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
94 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
95 double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
97 int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy( GDALDataType eTypeFrom,
98  GDALDataType eTypeTo );
99 
103 typedef enum
104 {
105  GARIO_PENDING = 0,
106  GARIO_UPDATE = 1,
107  GARIO_ERROR = 2,
108  GARIO_COMPLETE = 3,
109  GARIO_TypeCount = 4
111 
112 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
113 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
114 
116 typedef enum { GA_ReadOnly = 0, GA_Update = 1
120 
122 typedef enum { GF_Read = 0, GF_Write = 1
126 
127 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
131 typedef enum
142  /* NOTE: values 8 to 13 are reserved for max,min,med,Q1,Q3,sum */
144  GRIORA_RESERVED_START = 8,
145  GRIORA_RESERVED_END = 13,
152  GRIORA_LAST = GRIORA_RMS
155 
156 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
161 typedef struct
162 {
164  int nVersion;
165 
168 
170  GDALProgressFunc pfnProgress;
173 
180  double dfXOff;
182  double dfYOff;
184  double dfXSize;
186  double dfYSize;
188 
189 #ifndef DOXYGEN_SKIP
190 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
191 #endif
192 
196 #define INIT_RASTERIO_EXTRA_ARG(s) \
197  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
198  (s).eResampleAlg = GRIORA_NearestNeighbour; \
199  (s).pfnProgress = CPL_NULLPTR; \
200  (s).pProgressData = CPL_NULLPTR; \
201  (s).bFloatingPointWindowValidity = FALSE; } while(0)
202 
204 typedef enum
225 
226 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
227 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
228 
230 typedef enum
231 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
237 
239 
240 /* "well known" metadata items. */
241 
244 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
247 # define GDALMD_AOP_AREA "Area"
250 # define GDALMD_AOP_POINT "Point"
251 
252 /* -------------------------------------------------------------------- */
253 /* GDAL Specific error codes. */
254 /* */
255 /* error codes 100 to 299 reserved for GDAL. */
256 /* -------------------------------------------------------------------- */
257 #ifndef DOXYGEN_SKIP
258 #define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
259 #endif
260 
261 /* -------------------------------------------------------------------- */
262 /* Define handle types related to various internal classes. */
263 /* -------------------------------------------------------------------- */
264 
266 typedef void *GDALMajorObjectH;
267 
269 typedef void *GDALDatasetH;
270 
272 typedef void *GDALRasterBandH;
273 
275 typedef void *GDALDriverH;
276 
278 typedef void *GDALColorTableH;
279 
282 
284 typedef void *GDALAsyncReaderH;
285 
288 
292 typedef enum {
300 
304 typedef enum {
310 
312 typedef struct GDALExtendedDataTypeHS* GDALExtendedDataTypeH;
314 typedef struct GDALEDTComponentHS* GDALEDTComponentH;
316 typedef struct GDALGroupHS* GDALGroupH;
318 typedef struct GDALMDArrayHS* GDALMDArrayH;
320 typedef struct GDALAttributeHS* GDALAttributeH;
322 typedef struct GDALDimensionHS* GDALDimensionH;
323 
324 /* ==================================================================== */
325 /* Registration/driver related. */
326 /* ==================================================================== */
327 
329 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
330 
332 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
333 
335 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
336 
338 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
339 
344 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
345 
349 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
350 
352 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
353 
357 #define GDAL_DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST "DMD_MULTIDIM_DATASET_CREATIONOPTIONLIST"
358 
362 #define GDAL_DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST "DMD_MULTIDIM_GROUP_CREATIONOPTIONLIST"
363 
367 #define GDAL_DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST "DMD_MULTIDIM_DIMENSION_CREATIONOPTIONLIST"
368 
372 #define GDAL_DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST "DMD_MULTIDIM_ARRAY_CREATIONOPTIONLIST"
373 
377 #define GDAL_DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST "DMD_MULTIDIM_ATTRIBUTE_CREATIONOPTIONLIST"
378 
382 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
383 
385 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
386 
390 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
391 
395 #define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
396 
405 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
406 
408 #define GDAL_DCAP_OPEN "DCAP_OPEN"
409 
418 #define GDAL_DCAP_CREATE "DCAP_CREATE"
419 
424 #define GDAL_DCAP_CREATE_MULTIDIMENSIONAL "DCAP_CREATE_MULTIDIMENSIONAL"
425 
434 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
435 
441 #define GDAL_DCAP_CREATECOPY_MULTIDIMENSIONAL "DCAP_CREATECOPY_MULTIDIMENSIONAL"
442 
446 #define GDAL_DCAP_MULTIDIM_RASTER "DCAP_MULTIDIM_RASTER"
447 
449 #define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
450 
452 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
453 
457 #define GDAL_DCAP_RASTER "DCAP_RASTER"
458 
462 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
463 
467 #define GDAL_DCAP_GNM "DCAP_GNM"
468 
472 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
473 
477 #define GDAL_DCAP_UNIQUE_FIELDS "DCAP_UNIQUE_FIELDS"
478 
482 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
483 
487 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
488 
494 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
495 
499 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
500 
504 #define GDAL_DCAP_COORDINATE_EPOCH "DCAP_COORDINATE_EPOCH"
505 
514 #define GDAL_DCAP_MULTIPLE_VECTOR_LAYERS "DCAP_MULTIPLE_VECTOR_LAYERS"
515 
520 #define GDAL_DCAP_FIELD_DOMAINS "DCAP_FIELD_DOMAINS"
521 
526 #define GDAL_DCAP_RENAME_LAYERS "DCAP_RENAME_LAYERS"
527 
535 #define GDAL_DMD_CREATION_FIELD_DOMAIN_TYPES "DMD_CREATION_FIELD_DOMAIN_TYPES"
536 
540 #define GDAL_DIM_TYPE_HORIZONTAL_X "HORIZONTAL_X"
541 
545 #define GDAL_DIM_TYPE_HORIZONTAL_Y "HORIZONTAL_Y"
546 
550 #define GDAL_DIM_TYPE_VERTICAL "VERTICAL"
551 
555 #define GDAL_DIM_TYPE_TEMPORAL "TEMPORAL"
556 
560 #define GDAL_DIM_TYPE_PARAMETRIC "PARAMETRIC"
561 
562 
563 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
564 
565 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
566  const char *, int, int, int, GDALDataType,
568 GDALDatasetH CPL_DLL CPL_STDCALL
569 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
570  int, CSLConstList, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
571 
572 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
573  CSLConstList papszFileList );
574 
575 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
576  const char *pszFilename, unsigned int nIdentifyFlags,
577  const char *const *papszAllowedDrivers, const char *const *papszFileList);
578 
579 GDALDatasetH CPL_DLL CPL_STDCALL
580 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
581 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
582 
583 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
584 /* equals to GA_ReadOnly and GA_Update */
585 
590 #define GDAL_OF_READONLY 0x00
591 
596 #define GDAL_OF_UPDATE 0x01
597 
602 #define GDAL_OF_ALL 0x00
603 
608 #define GDAL_OF_RASTER 0x02
609 
614 #define GDAL_OF_VECTOR 0x04
615 
620 #define GDAL_OF_GNM 0x08
621 
626 #define GDAL_OF_MULTIDIM_RASTER 0x10
627 
628 #ifndef DOXYGEN_SKIP
629 #define GDAL_OF_KIND_MASK 0x1E
630 #endif
631 
636 #define GDAL_OF_SHARED 0x20
637 
642 #define GDAL_OF_VERBOSE_ERROR 0x40
643 
650 #define GDAL_OF_INTERNAL 0x80
651 
661 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
662 
671 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
672 
681 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
682 
683 #ifndef DOXYGEN_SKIP
684 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
685  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
686 #define GDAL_OF_RESERVED_1 0x300
687 
689 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
690 #endif
691 
692 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
693  unsigned int nOpenFlags,
694  const char* const* papszAllowedDrivers,
695  const char* const* papszOpenOptions,
696  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
697 
698 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
699 
700 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
701 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
702 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
703 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
704 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
705 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
706 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
707 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
708 #ifndef DOXYGEN_SKIP
709 void CPL_DLL GDALDestroy( void );
710 #endif
711 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
712 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
713  const char * pszNewName,
714  const char * pszOldName );
715 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
716  const char * pszNewName,
717  const char * pszOldName);
718 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
719  CSLConstList papszCreationOptions);
720 
721 /* The following are deprecated */
722 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
723 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
724 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
725 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
726 
727 /* ==================================================================== */
728 /* GDAL_GCP */
729 /* ==================================================================== */
730 
732 typedef struct
733 {
735  char *pszId;
736 
738  char *pszInfo;
739 
741  double dfGCPPixel;
743  double dfGCPLine;
744 
746  double dfGCPX;
747 
749  double dfGCPY;
750 
752  double dfGCPZ;
753 } GDAL_GCP;
754 
755 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
756 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
757 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
758 
759 int CPL_DLL CPL_STDCALL
760 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
761  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
762 int CPL_DLL CPL_STDCALL
763 GDALInvGeoTransform( double *padfGeoTransformIn,
764  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
765 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
766  double *, double * );
767 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
768  const double *padfGeoTransform2,
769  double *padfGeoTransformOut);
770 
771 /* ==================================================================== */
772 /* major objects (dataset, and, driver, drivermanager). */
773 /* ==================================================================== */
774 
775 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
776 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
778  const char * );
779 const char CPL_DLL * CPL_STDCALL
780 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
781 CPLErr CPL_DLL CPL_STDCALL
782 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
783  const char * );
784 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
785 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
786 
787 /* ==================================================================== */
788 /* GDALDataset class ... normally this represents one file. */
789 /* ==================================================================== */
790 
792 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
793 
794 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
795 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
796 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
797 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
798 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
799 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
800 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
801 
802 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
803  CSLConstList papszOptions );
804 
805 GDALAsyncReaderH CPL_DLL CPL_STDCALL
806 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
807  int nXSize, int nYSize,
808  void *pBuf, int nBufXSize, int nBufYSize,
809  GDALDataType eBufType, int nBandCount, int* panBandMap,
810  int nPixelSpace, int nLineSpace, int nBandSpace,
811  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
812 
813 void CPL_DLL CPL_STDCALL
815 
816 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
817  GDALDatasetH hDS, GDALRWFlag eRWFlag,
818  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
819  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
820  int nBandCount, int *panBandCount,
821  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
822 
823 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
824  GDALDatasetH hDS, GDALRWFlag eRWFlag,
825  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
826  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
827  int nBandCount, int *panBandCount,
828  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
830 
831 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
832  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
833  int nBXSize, int nBYSize, GDALDataType eBDataType,
834  int nBandCount, int *panBandCount, CSLConstList papszOptions );
835 
836 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
838 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
840 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
841 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
842 
843 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
844 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
846 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
847 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
848  const char * );
849 CPLErr CPL_DLL GDALSetGCPs2( GDALDatasetH, int, const GDAL_GCP *,
851 
852 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
853 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
854 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
855 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
856 
857 CPLErr CPL_DLL CPL_STDCALL
858 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
859  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
860 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
861 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
862 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
863 
864 CPLErr CPL_DLL CPL_STDCALL
865  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
866 
867 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
868  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
869  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
870 
871 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
872  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
873  const char * const * constpapszOptions,
874  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
875 
876 CPLErr CPL_DLL
878  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
879  const char *pszResampling,
880  GDALProgressFunc pfnProgress, void *pProgressData );
881 
884 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
885 int CPL_DLL GDALDatasetIsLayerPrivate( GDALDatasetH, int );
887 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
889  CSLConstList );
890 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
891  CSLConstList );
892 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
894  OGRLayerH* phBelongingLayer,
895  double* pdfProgressPct,
896  GDALProgressFunc pfnProgress,
897  void* pProgressData );
898 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
899 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
900  OGRGeometryH, const char * );
906 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
909 void CPL_DLL GDALDatasetClearStatistics(GDALDatasetH hDS);
910 
913  const char* pszName);
914 bool CPL_DLL GDALDatasetAddFieldDomain(GDALDatasetH hDS,
915  OGRFieldDomainH hFieldDomain,
916  char** ppszFailureReason);
918  const char* pszName,
919  char** ppszFailureReason);
921  OGRFieldDomainH hFieldDomain,
922  char** ppszFailureReason);
923 
924 /* ==================================================================== */
925 /* GDALRasterBand ... one band/channel in a dataset. */
926 /* ==================================================================== */
927 
928 /* Note: the only user of SRCVAL() was frmts/vrt/pixelfunctions.cpp and we no */
929 /* longer use it. */
930 
935 #define SRCVAL(papoSource, eSrcType, ii) \
936  (eSrcType == GDT_Byte ? \
937  CPL_REINTERPRET_CAST(const GByte*,papoSource)[ii] : \
938  (eSrcType == GDT_Float32 ? \
939  CPL_REINTERPRET_CAST(const float*,papoSource)[ii] : \
940  (eSrcType == GDT_Float64 ? \
941  CPL_REINTERPRET_CAST(const double*,papoSource)[ii] : \
942  (eSrcType == GDT_Int32 ? \
943  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[ii] : \
944  (eSrcType == GDT_UInt16 ? \
945  CPL_REINTERPRET_CAST(const GUInt16*,papoSource)[ii] : \
946  (eSrcType == GDT_Int16 ? \
947  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[ii] : \
948  (eSrcType == GDT_UInt32 ? \
949  CPL_REINTERPRET_CAST(const GUInt32*,papoSource)[ii] : \
950  (eSrcType == GDT_CInt16 ? \
951  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[(ii) * 2] : \
952  (eSrcType == GDT_CInt32 ? \
953  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[(ii) * 2] : \
954  (eSrcType == GDT_CFloat32 ? \
955  CPL_REINTERPRET_CAST(const float*,papoSource)[(ii) * 2] : \
956  (eSrcType == GDT_CFloat64 ? \
957  CPL_REINTERPRET_CAST(const double*,papoSource)[(ii) * 2] : 0)))))))))))
958 
961 typedef CPLErr
962 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
963  int nBufXSize, int nBufYSize,
964  GDALDataType eSrcType, GDALDataType eBufType,
965  int nPixelSpace, int nLineSpace);
966 
969 typedef CPLErr
970 (*GDALDerivedPixelFuncWithArgs)(void **papoSources, int nSources, void *pData,
971  int nBufXSize, int nBufYSize,
972  GDALDataType eSrcType, GDALDataType eBufType,
973  int nPixelSpace, int nLineSpace,
974  CSLConstList papszFunctionArgs);
975 
976 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
977 void CPL_DLL CPL_STDCALL
978 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
979 
980 CPLErr CPL_DLL CPL_STDCALL
981 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
982  int *pnXValid, int *pnYValid );
983 
984 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
985  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
986  int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions );
987 
988 CPLErr CPL_DLL CPL_STDCALL
989 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
990  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
991  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
992  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
993 CPLErr CPL_DLL CPL_STDCALL
994 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
995  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
996  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
997  GSpacing nPixelSpace, GSpacing nLineSpace,
999 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
1000 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
1001 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
1002 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
1003 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
1004 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
1005 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
1006 
1007 GDALColorInterp CPL_DLL CPL_STDCALL
1009 CPLErr CPL_DLL CPL_STDCALL
1013 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
1014 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
1015 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
1016 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
1017 int64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsInt64( GDALRasterBandH, int * );
1018 uint64_t CPL_DLL CPL_STDCALL GDALGetRasterNoDataValueAsUInt64( GDALRasterBandH, int * );
1019 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
1020 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValueAsInt64( GDALRasterBandH, int64_t );
1021 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValueAsUInt64( GDALRasterBandH, uint64_t );
1022 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
1023 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
1025 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
1026 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
1027 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
1028  GDALRasterBandH, int bApproxOK, int bForce,
1029  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
1030 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
1031  GDALRasterBandH, int bApproxOK,
1032  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
1033  GDALProgressFunc pfnProgress, void *pProgressData );
1034 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
1035  GDALRasterBandH hBand,
1036  double dfMin, double dfMax, double dfMean, double dfStdDev );
1037 
1039 
1040 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
1041 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
1042 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
1043 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
1044 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
1045 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
1046 void CPL_DLL CPL_STDCALL
1047 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
1048  double adfMinMax[2] );
1049 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
1050 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
1051  double dfMin, double dfMax,
1052  int nBuckets, int *panHistogram,
1053  int bIncludeOutOfRange, int bApproxOK,
1054  GDALProgressFunc pfnProgress,
1055  void * pProgressData )
1057  CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
1059  ;
1060 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
1061  double dfMin, double dfMax,
1062  int nBuckets, GUIntBig *panHistogram,
1063  int bIncludeOutOfRange, int bApproxOK,
1064  GDALProgressFunc pfnProgress,
1065  void * pProgressData );
1066 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
1067  double *pdfMin, double *pdfMax,
1068  int *pnBuckets, int **ppanHistogram,
1069  int bForce,
1070  GDALProgressFunc pfnProgress,
1071  void * pProgressData )
1073  CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
1075  ;
1076 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
1077  double *pdfMin, double *pdfMax,
1078  int *pnBuckets, GUIntBig **ppanHistogram,
1079  int bForce,
1080  GDALProgressFunc pfnProgress,
1081  void * pProgressData );
1082 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
1083  double dfMin, double dfMax,
1084  int nBuckets, int *panHistogram )
1086  CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
1088  ;
1089 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
1090  double dfMin, double dfMax,
1091  int nBuckets, GUIntBig *panHistogram );
1092 int CPL_DLL CPL_STDCALL
1094 GDALRasterBandH CPL_DLL CPL_STDCALL
1096 GDALRasterBandH CPL_DLL CPL_STDCALL
1098 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
1099  double dfRealValue, double dfImaginaryValue );
1100 CPLErr CPL_DLL CPL_STDCALL
1101 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
1102  double *pdfMean, double *pdfStdDev,
1103  GDALProgressFunc pfnProgress,
1104  void *pProgressData );
1106  int nOverviewCount,
1107  GDALRasterBandH *pahOverviews,
1108  GDALProgressFunc pfnProgress,
1109  void *pProgressData );
1110 
1111 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
1112  GDALRasterBandH hBand );
1113 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
1115 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
1116  GDALDerivedPixelFunc pfnPixelFunc );
1117 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFuncWithArgs( const char *pszName,
1118  GDALDerivedPixelFuncWithArgs pfnPixelFunc,
1119  const char *pszMetadata);
1120 
1121 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
1122 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
1123 CPLErr CPL_DLL CPL_STDCALL
1124  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
1125 bool CPL_DLL GDALIsMaskBand( GDALRasterBandH hBand );
1126 
1128 #define GMF_ALL_VALID 0x01
1131 #define GMF_PER_DATASET 0x02
1134 #define GMF_ALPHA 0x04
1137 #define GMF_NODATA 0x08
1138 
1142 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
1143 
1148 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
1149 
1155 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
1156 
1157 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
1158  int nXOff, int nYOff,
1159  int nXSize, int nYSize,
1160  int nMaskFlagStop,
1161  double* pdfDataPct );
1162 
1163 /* ==================================================================== */
1164 /* GDALAsyncReader */
1165 /* ==================================================================== */
1166 
1167 GDALAsyncStatusType CPL_DLL CPL_STDCALL
1168 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
1169  int* pnXBufOff, int* pnYBufOff,
1170  int* pnXBufSize, int* pnYBufSize );
1171 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
1172  double dfTimeout);
1173 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
1174 
1175 /* -------------------------------------------------------------------- */
1176 /* Helper functions. */
1177 /* -------------------------------------------------------------------- */
1178 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
1179  int nOptions );
1180 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
1181  int nWordSkip );
1182 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
1183  int nWordSkip );
1184 
1185 void CPL_DLL CPL_STDCALL
1186  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
1187  GDALDataType eSrcType, int nSrcPixelOffset,
1188  void * CPL_RESTRICT pDstData,
1189  GDALDataType eDstType, int nDstPixelOffset,
1190  int nWordCount );
1191 
1192 void CPL_DLL CPL_STDCALL
1193  GDALCopyWords64( const void * CPL_RESTRICT pSrcData,
1194  GDALDataType eSrcType, int nSrcPixelOffset,
1195  void * CPL_RESTRICT pDstData,
1196  GDALDataType eDstType, int nDstPixelOffset,
1197  GPtrDiff_t nWordCount );
1198 
1199 void CPL_DLL
1200 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
1201  GByte *pabyDstData, int nDstOffset, int nDstStep,
1202  int nBitCount, int nStepCount );
1203 
1204 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
1205 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
1206  double * );
1207 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
1208  double * );
1209 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
1210  int *, GDAL_GCP ** );
1211 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
1212  int *, GDAL_GCP ** );
1213 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
1214  int *, GDAL_GCP ** );
1215 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
1216  char **, int *, GDAL_GCP ** );
1217 
1218 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
1219 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
1220 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
1221 
1222 /* Note to developers : please keep this section in sync with ogr_core.h */
1223 
1224 #ifndef GDAL_VERSION_INFO_DEFINED
1225 #ifndef DOXYGEN_SKIP
1226 #define GDAL_VERSION_INFO_DEFINED
1227 #endif
1228 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
1229 #endif
1230 
1231 #ifndef GDAL_CHECK_VERSION
1232 
1233 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
1234  const char* pszCallingComponentName);
1235 
1239 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1240  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1241 
1242 #endif
1243 
1245 #ifdef GDAL_COMPILATION
1246 #define GDALExtractRPCInfoV1 GDALExtractRPCInfo
1247 #else
1248 #define GDALRPCInfo GDALRPCInfoV2
1249 #define GDALExtractRPCInfo GDALExtractRPCInfoV2
1250 #endif
1251 
1252 /* Deprecated: use GDALRPCInfoV2 */
1253 typedef struct
1254 {
1255  double dfLINE_OFF;
1256  double dfSAMP_OFF;
1257  double dfLAT_OFF;
1258  double dfLONG_OFF;
1259  double dfHEIGHT_OFF;
1261  double dfLINE_SCALE;
1262  double dfSAMP_SCALE;
1263  double dfLAT_SCALE;
1264  double dfLONG_SCALE;
1265  double dfHEIGHT_SCALE;
1267  double adfLINE_NUM_COEFF[20];
1268  double adfLINE_DEN_COEFF[20];
1269  double adfSAMP_NUM_COEFF[20];
1270  double adfSAMP_DEN_COEFF[20];
1272  double dfMIN_LONG;
1273  double dfMIN_LAT;
1274  double dfMAX_LONG;
1275  double dfMAX_LAT;
1276 } GDALRPCInfoV1;
1281 typedef struct
1282 {
1283  double dfLINE_OFF;
1284  double dfSAMP_OFF;
1285  double dfLAT_OFF;
1286  double dfLONG_OFF;
1287  double dfHEIGHT_OFF;
1289  double dfLINE_SCALE;
1290  double dfSAMP_SCALE;
1291  double dfLAT_SCALE;
1292  double dfLONG_SCALE;
1295  double adfLINE_NUM_COEFF[20];
1296  double adfLINE_DEN_COEFF[20];
1297  double adfSAMP_NUM_COEFF[20];
1298  double adfSAMP_DEN_COEFF[20];
1300  double dfMIN_LONG;
1301  double dfMIN_LAT;
1302  double dfMAX_LONG;
1303  double dfMAX_LAT;
1305  /* Those fields should be at the end. And all above fields should be the same as in GDALRPCInfoV1 */
1306  double dfERR_BIAS;
1307  double dfERR_RAND;
1308 } GDALRPCInfoV2;
1309 
1311 int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV1( CSLConstList, GDALRPCInfoV1 * );
1313 int CPL_DLL CPL_STDCALL GDALExtractRPCInfoV2( CSLConstList, GDALRPCInfoV2 * );
1314 
1315 /* ==================================================================== */
1316 /* Color tables. */
1317 /* ==================================================================== */
1318 
1320 typedef struct
1321 {
1323  short c1;
1324 
1326  short c2;
1327 
1329  short c3;
1330 
1332  short c4;
1333 } GDALColorEntry;
1334 
1336 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1337 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1339 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1340 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1341 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1342 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1343 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1344  int nStartIndex, const GDALColorEntry *psStartColor,
1345  int nEndIndex, const GDALColorEntry *psEndColor );
1346 
1347 /* ==================================================================== */
1348 /* Raster Attribute Table */
1349 /* ==================================================================== */
1350 
1357 
1359 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
1380 
1388 
1389 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1391 
1392 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1394 
1395 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1396 
1397 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1399 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1401 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1403 
1404 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1406 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1407 
1408 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1409  GDALRasterAttributeTableH, int, int);
1410 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1411  GDALRasterAttributeTableH, int, int);
1412 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1413  GDALRasterAttributeTableH, int, int);
1414 
1415 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1416  const char * );
1417 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1418  int );
1419 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1420  double );
1421 
1422 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1423 
1424 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1425  int iField, int iStartRow, int iLength, double *pdfData );
1426 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1427  int iField, int iStartRow, int iLength, int *pnData);
1428 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1429  int iField, int iStartRow, int iLength, CSLConstList papszStrList);
1430 
1431 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1432  int );
1434  const char *,
1438  double, double );
1439 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1440  double *, double * );
1441 CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType( GDALRasterAttributeTableH hRAT,
1442  const GDALRATTableType eInTableType );
1444 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1446 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1447  GDALRasterAttributeTableH, int nEntryCount );
1448 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1449  FILE * );
1450 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1452 
1453 void CPL_DLL* CPL_STDCALL
1455 
1456 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1457 void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics( GDALRasterAttributeTableH );
1458 
1459 /* ==================================================================== */
1460 /* GDAL Cache Management */
1461 /* ==================================================================== */
1462 
1463 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1464 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1465 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1466 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1467 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1468 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1469 
1470 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1471 
1472 /* ==================================================================== */
1473 /* GDAL virtual memory */
1474 /* ==================================================================== */
1475 
1477  GDALRWFlag eRWFlag,
1478  int nXOff, int nYOff,
1479  int nXSize, int nYSize,
1480  int nBufXSize, int nBufYSize,
1481  GDALDataType eBufType,
1482  int nBandCount, int* panBandMap,
1483  int nPixelSpace,
1484  GIntBig nLineSpace,
1485  GIntBig nBandSpace,
1486  size_t nCacheSize,
1487  size_t nPageSizeHint,
1488  int bSingleThreadUsage,
1489  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1490 
1492  GDALRWFlag eRWFlag,
1493  int nXOff, int nYOff,
1494  int nXSize, int nYSize,
1495  int nBufXSize, int nBufYSize,
1496  GDALDataType eBufType,
1497  int nPixelSpace,
1498  GIntBig nLineSpace,
1499  size_t nCacheSize,
1500  size_t nPageSizeHint,
1501  int bSingleThreadUsage,
1502  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1503 
1505  GDALRWFlag eRWFlag,
1506  int *pnPixelSpace,
1507  GIntBig *pnLineSpace,
1508  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1509 
1511 typedef enum
1512 {
1518  GTO_BSQ
1520 
1522  GDALRWFlag eRWFlag,
1523  int nXOff, int nYOff,
1524  int nXSize, int nYSize,
1525  int nTileXSize, int nTileYSize,
1526  GDALDataType eBufType,
1527  int nBandCount, int* panBandMap,
1528  GDALTileOrganization eTileOrganization,
1529  size_t nCacheSize,
1530  int bSingleThreadUsage,
1531  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1532 
1534  GDALRWFlag eRWFlag,
1535  int nXOff, int nYOff,
1536  int nXSize, int nYSize,
1537  int nTileXSize, int nTileYSize,
1538  GDALDataType eBufType,
1539  size_t nCacheSize,
1540  int bSingleThreadUsage,
1541  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1542 
1543 /* ==================================================================== */
1544 /* VRTPansharpenedDataset class. */
1545 /* ==================================================================== */
1546 
1547 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1548  GDALRasterBandH hPanchroBand,
1549  int nInputSpectralBands,
1550  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1551 
1552 /* =================================================================== */
1553 /* Misc API */
1554 /* ==================================================================== */
1555 
1556 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1557  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1558 
1559 /* ==================================================================== */
1560 /* Multidimensional API_api */
1561 /* ==================================================================== */
1562 
1564  const char * pszName,
1565  CSLConstList papszRootGroupOptions,
1566  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1567 
1572  const char* pszName, size_t nTotalSize,
1573  size_t nComponents, const GDALEDTComponentH* comps) CPL_WARN_UNUSED_RESULT;
1575 const char CPL_DLL* GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT);
1581 void CPL_DLL GDALExtendedDataTypeFreeComponents(GDALEDTComponentH* components, size_t nCount);
1583  GDALExtendedDataTypeH hTargetEDT);
1585  GDALExtendedDataTypeH hSecondEDT);
1587 
1588 GDALEDTComponentH CPL_DLL GDALEDTComponentCreate(const char* pszName, size_t nOffset, GDALExtendedDataTypeH hType) CPL_WARN_UNUSED_RESULT;
1589 void CPL_DLL GDALEDTComponentRelease(GDALEDTComponentH hComp);
1590 const char CPL_DLL* GDALEDTComponentGetName(GDALEDTComponentH hComp);
1591 size_t CPL_DLL GDALEDTComponentGetOffset(GDALEDTComponentH hComp);
1593 
1595 void CPL_DLL GDALGroupRelease(GDALGroupH hGroup);
1596 const char CPL_DLL *GDALGroupGetName(GDALGroupH hGroup);
1597 const char CPL_DLL *GDALGroupGetFullName(GDALGroupH hGroup);
1598 char CPL_DLL **GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1599 GDALMDArrayH CPL_DLL GDALGroupOpenMDArray(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1600 GDALMDArrayH CPL_DLL GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1602  const char* pszName,
1603  const char* pszStartingPoint,
1604  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1605 char CPL_DLL **GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1606 GDALGroupH CPL_DLL GDALGroupOpenGroup(GDALGroupH hGroup, const char* pszSubGroupName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1607 GDALGroupH CPL_DLL GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char* pszMDArrayName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1608 char CPL_DLL **GDALGroupGetVectorLayerNames(GDALGroupH hGroup, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1609 OGRLayerH CPL_DLL GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char* pszVectorLayerName, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1610 GDALDimensionH CPL_DLL *GDALGroupGetDimensions(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1611 GDALAttributeH CPL_DLL GDALGroupGetAttribute(GDALGroupH hGroup, const char* pszName) CPL_WARN_UNUSED_RESULT;
1612 GDALAttributeH CPL_DLL *GDALGroupGetAttributes(GDALGroupH hGroup, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1615  const char* pszSubGroupName,
1616  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1618  const char* pszName,
1619  const char* pszType,
1620  const char* pszDirection,
1621  GUInt64 nSize,
1622  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1624  const char* pszName,
1625  size_t nDimensions,
1626  GDALDimensionH* pahDimensions,
1627  GDALExtendedDataTypeH hEDT,
1628  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1630  const char* pszName,
1631  size_t nDimensions,
1632  const GUInt64* panDimensions,
1633  GDALExtendedDataTypeH hEDT,
1634  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1635 
1636 void CPL_DLL GDALMDArrayRelease(GDALMDArrayH hMDArray);
1637 const char CPL_DLL* GDALMDArrayGetName(GDALMDArrayH hArray);
1638 const char CPL_DLL* GDALMDArrayGetFullName(GDALMDArrayH hArray);
1640 size_t CPL_DLL GDALMDArrayGetDimensionCount(GDALMDArrayH hArray);
1643 int CPL_DLL GDALMDArrayRead(GDALMDArrayH hArray,
1644  const GUInt64* arrayStartIdx,
1645  const size_t* count,
1646  const GInt64* arrayStep,
1647  const GPtrDiff_t* bufferStride,
1648  GDALExtendedDataTypeH bufferDatatype,
1649  void* pDstBuffer,
1650  const void* pDstBufferAllocStart,
1651  size_t nDstBufferllocSize);
1652 int CPL_DLL GDALMDArrayWrite(GDALMDArrayH hArray,
1653  const GUInt64* arrayStartIdx,
1654  const size_t* count,
1655  const GInt64* arrayStep,
1656  const GPtrDiff_t* bufferStride,
1657  GDALExtendedDataTypeH bufferDatatype,
1658  const void* pSrcBuffer,
1659  const void* psrcBufferAllocStart,
1660  size_t nSrcBufferllocSize);
1661 int CPL_DLL GDALMDArrayAdviseRead(GDALMDArrayH hArray,
1662  const GUInt64* arrayStartIdx,
1663  const size_t* count);
1664 int CPL_DLL GDALMDArrayAdviseReadEx(GDALMDArrayH hArray,
1665  const GUInt64* arrayStartIdx,
1666  const size_t* count,
1667  CSLConstList papszOptions);
1668 GDALAttributeH CPL_DLL GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char* pszName) CPL_WARN_UNUSED_RESULT;
1669 GDALAttributeH CPL_DLL *GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t* pnCount, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1671  const char* pszName,
1672  size_t nDimensions,
1673  const GUInt64* panDimensions,
1674  GDALExtendedDataTypeH hEDT,
1675  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1676 const void CPL_DLL *GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray);
1677 double CPL_DLL GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray,
1678  int* pbHasNoDataValue);
1679 int64_t CPL_DLL GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray,
1680  int* pbHasNoDataValue);
1681 uint64_t CPL_DLL GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray,
1682  int* pbHasNoDataValue);
1683 int CPL_DLL GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void*);
1685  double dfNoDataValue);
1687  int64_t nNoDataValue);
1689  uint64_t nNoDataValue);
1690 int CPL_DLL GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale);
1691 int CPL_DLL GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType);
1692 double CPL_DLL GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue);
1693 double CPL_DLL GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType* peStorageType);
1694 int CPL_DLL GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset);
1695 int CPL_DLL GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType);
1696 double CPL_DLL GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue);
1697 double CPL_DLL GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType* peStorageType);
1698 GUInt64 CPL_DLL *GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount);
1699 int CPL_DLL GDALMDArraySetUnit(GDALMDArrayH hArray, const char*);
1700 const char CPL_DLL *GDALMDArrayGetUnit(GDALMDArrayH hArray);
1703 size_t CPL_DLL *GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount,
1704  size_t nMaxChunkMemory);
1706 GDALMDArrayH CPL_DLL GDALMDArrayGetView(GDALMDArrayH hArray, const char* pszViewExpr);
1708  size_t nNewAxisCount,
1709  const int *panMapNewAxisToOldAxis);
1711 GDALMDArrayH CPL_DLL GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions);
1713  size_t iXDim, size_t iYDim);
1715  GDALMDArrayH hArray, GDALDatasetH, int bApproxOK, int bForce,
1716  double *pdfMin, double *pdfMax,
1717  double *pdfMean, double *pdfStdDev,
1718  GUInt64* pnValidCount,
1719  GDALProgressFunc pfnProgress, void *pProgressData );
1721  int bApproxOK,
1722  double *pdfMin, double *pdfMax,
1723  double *pdfMean, double *pdfStdDev,
1724  GUInt64* pnValidCount,
1725  GDALProgressFunc, void *pProgressData );
1727  size_t nNewDimCount,
1728  const GDALDimensionH* pahNewDims,
1729  GDALRIOResampleAlg resampleAlg,
1730  OGRSpatialReferenceH hTargetSRS,
1731  CSLConstList papszOptions);
1733 void CPL_DLL GDALReleaseArrays(GDALMDArrayH* arrays, size_t nCount);
1734 int CPL_DLL GDALMDArrayCache( GDALMDArrayH hArray, CSLConstList papszOptions );
1735 
1736 void CPL_DLL GDALAttributeRelease(GDALAttributeH hAttr);
1737 void CPL_DLL GDALReleaseAttributes(GDALAttributeH* attributes, size_t nCount);
1738 const char CPL_DLL* GDALAttributeGetName(GDALAttributeH hAttr);
1739 const char CPL_DLL* GDALAttributeGetFullName(GDALAttributeH hAttr);
1741 size_t CPL_DLL GDALAttributeGetDimensionCount(GDALAttributeH hAttr);
1744 GByte CPL_DLL *GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize) CPL_WARN_UNUSED_RESULT;
1745 void CPL_DLL GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte* raw, size_t nSize);
1746 const char CPL_DLL* GDALAttributeReadAsString(GDALAttributeH hAttr);
1747 int CPL_DLL GDALAttributeReadAsInt(GDALAttributeH hAttr);
1748 double CPL_DLL GDALAttributeReadAsDouble(GDALAttributeH hAttr);
1750 int CPL_DLL *GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1751 double CPL_DLL *GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t* pnCount) CPL_WARN_UNUSED_RESULT;
1752 int CPL_DLL GDALAttributeWriteRaw(GDALAttributeH hAttr, const void*, size_t);
1753 int CPL_DLL GDALAttributeWriteString(GDALAttributeH hAttr, const char*);
1755 int CPL_DLL GDALAttributeWriteInt(GDALAttributeH hAttr, int);
1756 int CPL_DLL GDALAttributeWriteDouble(GDALAttributeH hAttr, double);
1757 int CPL_DLL GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double*, size_t);
1758 
1759 void CPL_DLL GDALDimensionRelease(GDALDimensionH hDim);
1760 void CPL_DLL GDALReleaseDimensions(GDALDimensionH* dims, size_t nCount);
1761 const char CPL_DLL *GDALDimensionGetName(GDALDimensionH hDim);
1762 const char CPL_DLL *GDALDimensionGetFullName(GDALDimensionH hDim);
1763 const char CPL_DLL *GDALDimensionGetType(GDALDimensionH hDim);
1764 const char CPL_DLL *GDALDimensionGetDirection(GDALDimensionH hDim);
1768 
1769 CPL_C_END
1770 
1771 #endif /* ndef GDAL_H_INCLUDED */
CPL error handling services.
CPLErr
Error category.
Definition: cpl_error.h:53
Definitions for CPL mini XML Parser/Serializer.
Core portability definitions for CPL.
int GPtrDiff_t
Integer type large enough to hold the difference between 2 addresses.
Definition: cpl_port.h:266
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:907
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition: cpl_port.h:233
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:303
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:301
GIntBig GInt64
Signed 64 bit integer type.
Definition: cpl_port.h:249
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1053
GUIntBig GUInt64
Unsigned 64 bit integer type.
Definition: cpl_port.h:251
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:866
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:203
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:230
Virtual memory management.
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:62
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:287
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2533
const char * GDALMDArrayGetFullName(GDALMDArrayH hArray)
Return array full name.
Definition: gdalmultidim.cpp:9196
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition: rasterio.cpp:4677
GDALRATTableType
RAT table type (thematic or athematic)
Definition: gdal.h:1384
@ GRTT_THEMATIC
Definition: gdal.h:1385
@ GRTT_ATHEMATIC
Definition: gdal.h:1386
GDALAccess
Definition: gdal.h:116
@ GA_ReadOnly
Definition: gdal.h:117
@ GA_Update
Definition: gdal.h:118
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:2273
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2889
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:505
struct GDALDimensionHS * GDALDimensionH
Opaque type for C++ GDALDimension.
Definition: gdal.h:322
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:4475
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:728
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList)
Create a new dataset with this driver.
Definition: gdaldriver.cpp:276
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1649
int GDALMDArraySetRawNoDataValue(GDALMDArrayH hArray, const void *)
Set the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:9619
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:370
void GDALDatasetClearStatistics(GDALDatasetH hDS)
Clear statistics.
Definition: gdaldataset.cpp:8452
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:3757
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:1055
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:325
struct GDALAttributeHS * GDALAttributeH
Opaque type for C++ GDALAttribute.
Definition: gdal.h:320
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:379
const char * GDALMDArrayGetUnit(GDALMDArrayH hArray)
Return the array unit.
Definition: gdalmultidim.cpp:10126
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:146
GDALMDArrayH GDALRasterBandAsMDArray(GDALRasterBandH)
Return a view of this raster band as a 2D multidimensional GDALMDArray.
Definition: gdalmultidim.cpp:10903
bool GDALDatasetAddFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Add a field domain to the dataset.
Definition: gdaldataset.cpp:8610
char ** GDALDatasetGetFieldDomainNames(GDALDatasetH, CSLConstList)
Returns a list of the names of all field domains stored in the dataset.
Definition: gdaldataset.cpp:8501
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1327
GDALAttributeH GDALGroupGetAttribute(GDALGroupH hGroup, const char *pszName)
Return an attribute by its name.
Definition: gdalmultidim.cpp:8961
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1897
GDALMDArrayH GDALGroupOpenMDArray(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array.
Definition: gdalmultidim.cpp:8740
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6548
GDALMDArrayH GDALMDArrayGetResampled(GDALMDArrayH hArray, size_t nNewDimCount, const GDALDimensionH *pahNewDims, GDALRIOResampleAlg resampleAlg, OGRSpatialReferenceH hTargetSRS, CSLConstList papszOptions)
Return an array that is a resampled / reprojected view of the current array.
Definition: gdalmultidim.cpp:10059
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:1137
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy a whole raster band.
Definition: rasterio.cpp:5008
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:833
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1759
GUInt64 GDALMDArrayGetTotalElementsCount(GDALMDArrayH hArray)
Return the total number of values in the array.
Definition: gdalmultidim.cpp:9210
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the spatial reference for this dataset.
Definition: gdaldataset.cpp:945
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:2151
GDALMDArrayH GDALGroupResolveMDArray(GDALGroupH hGroup, const char *pszName, const char *pszStartingPoint, CSLConstList papszOptions)
Locate an array in a group and its subgroups by name.
Definition: gdalmultidim.cpp:8785
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2491
void GDALAttributeRelease(GDALAttributeH hAttr)
Release the GDAL in-memory object associated with a GDALAttribute.
Definition: gdalmultidim.cpp:10300
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:911
GDALMDArrayH GDALMDArrayGetView(GDALMDArrayH hArray, const char *pszViewExpr)
Return a view of the array using slicing or field access.
Definition: gdalmultidim.cpp:9961
GDALPaletteInterp
Definition: gdal.h:231
@ GPI_CMYK
Definition: gdal.h:234
@ GPI_HLS
Definition: gdal.h:235
@ GPI_Gray
Definition: gdal.h:232
@ GPI_RGB
Definition: gdal.h:233
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:3706
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:136
void GDALDimensionRelease(GDALDimensionH hDim)
Release the GDAL in-memory object associated with a GDALDimension.
Definition: gdalmultidim.cpp:10744
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:833
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2630
size_t GDALAttributeGetDimensionCount(GDALAttributeH hAttr)
Return the number of dimensions.
Definition: gdalmultidim.cpp:10359
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:4122
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:1000
int * GDALAttributeReadAsIntArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of integers.
Definition: gdalmultidim.cpp:10554
size_t GDALMDArrayGetDimensionCount(GDALMDArrayH hArray)
Return the number of dimensions.
Definition: gdalmultidim.cpp:9224
const char * GDALGroupGetFullName(GDALGroupH hGroup)
Return the full name of the group.
Definition: gdalmultidim.cpp:8702
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:355
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4906
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1315
GDALDataType
Definition: gdal.h:63
@ GDT_UInt32
Definition: gdal.h:68
@ GDT_UInt64
Definition: gdal.h:70
@ GDT_CInt32
Definition: gdal.h:75
@ GDT_Int64
Definition: gdal.h:71
@ GDT_Byte
Definition: gdal.h:65
@ GDT_CFloat32
Definition: gdal.h:77
@ GDT_CFloat64
Definition: gdal.h:78
@ GDT_Float64
Definition: gdal.h:73
@ GDT_UInt16
Definition: gdal.h:66
@ GDT_Int16
Definition: gdal.h:67
@ GDT_CInt16
Definition: gdal.h:74
@ GDT_Int32
Definition: gdal.h:69
@ GDT_Unknown
Definition: gdal.h:64
@ GDT_Float32
Definition: gdal.h:72
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2732
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:7539
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:269
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2451
const void * GDALMDArrayGetRawNoDataValue(GDALMDArrayH hArray)
Return the nodata value as a "raw" value.
Definition: gdalmultidim.cpp:9520
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2783
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:8935
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:3021
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1358
int GDALAttributeReadAsInt(GDALAttributeH hAttr)
Return the value of an attribute as a integer.
Definition: gdalmultidim.cpp:10500
GDALExtendedDataTypeH GDALExtendedDataTypeCreate(GDALDataType eType)
Return a new GDALExtendedDataType of class GEDTC_NUMERIC.
Definition: gdalmultidim.cpp:8310
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1359
@ GFU_Min
Definition: gdal.h:1363
@ GFU_AlphaMin
Definition: gdal.h:1373
@ GFU_GreenMin
Definition: gdal.h:1371
@ GFU_Red
Definition: gdal.h:1366
@ GFU_Alpha
Definition: gdal.h:1369
@ GFU_MaxCount
Definition: gdal.h:1378
@ GFU_MinMax
Definition: gdal.h:1365
@ GFU_RedMin
Definition: gdal.h:1370
@ GFU_GreenMax
Definition: gdal.h:1375
@ GFU_Name
Definition: gdal.h:1362
@ GFU_BlueMax
Definition: gdal.h:1376
@ GFU_BlueMin
Definition: gdal.h:1372
@ GFU_RedMax
Definition: gdal.h:1374
@ GFU_Green
Definition: gdal.h:1367
@ GFU_Blue
Definition: gdal.h:1368
@ GFU_AlphaMax
Definition: gdal.h:1377
@ GFU_PixelCount
Definition: gdal.h:1361
@ GFU_Generic
Definition: gdal.h:1360
@ GFU_Max
Definition: gdal.h:1364
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2838
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:317
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:800
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1495
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5991
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
int64_t GDALMDArrayGetNoDataValueAsInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a Int64.
Definition: gdalmultidim.cpp:9572
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2918
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset.
Definition: gdal_rat.cpp:1930
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition: gdaldataset.cpp:1663
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:9345
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:3858
void GDALExtendedDataTypeFreeComponents(GDALEDTComponentH *components, size_t nCount)
Free the return of GDALExtendedDataTypeGetComponents().
Definition: gdalmultidim.cpp:8577
size_t GDALExtendedDataTypeGetSize(GDALExtendedDataTypeH hEDT)
Return data type size in bytes.
Definition: gdalmultidim.cpp:8455
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:844
struct GDALEDTComponentHS * GDALEDTComponentH
Opaque type for C++ GDALEDTComponent.
Definition: gdal.h:314
int GDALExtractRPCInfoV2(CSLConstList, GDALRPCInfoV2 *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3504
GDALMDArrayH GDALGroupOpenMDArrayFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a multidimensional array from its fully qualified name.
Definition: gdalmultidim.cpp:8763
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition: gdalcolortable.cpp:69
bool GDALIsMaskBand(GDALRasterBandH hBand)
Returns whether a band is a mask band.
Definition: gdalrasterband.cpp:6695
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:6458
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:9481
int GDALMDArraySetNoDataValueAsInt64(GDALMDArrayH hArray, int64_t nNoDataValue)
Set the nodata value as a Int64.
Definition: gdalmultidim.cpp:9659
char ** GDALAttributeReadAsStringArray(GDALAttributeH hAttr)
Return the value of an attribute as an array of strings.
Definition: gdalmultidim.cpp:10536
int GDALMDArraySetNoDataValueAsUInt64(GDALMDArrayH hArray, uint64_t nNoDataValue)
Set the nodata value as a UInt64.
Definition: gdalmultidim.cpp:9680
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:5528
bool GDALDatasetDeleteFieldDomain(GDALDatasetH hDS, const char *pszName, char **ppszFailureReason)
Removes a field domain from the dataset.
Definition: gdaldataset.cpp:8688
void GDALReleaseDimensions(GDALDimensionH *dims, size_t nCount)
Free the return of GDALGroupGetDimensions() or GDALMDArrayGetDimensions()
Definition: gdalmultidim.cpp:9271
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:596
const char * GDALExtendedDataTypeGetName(GDALExtendedDataTypeH hEDT)
Return type name.
Definition: gdalmultidim.cpp:8413
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:333
GDALDatasetH GDALOpenShared(const char *, GDALAccess)
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3732
CPLErr GDALSetRasterNoDataValueAsInt64(GDALRasterBandH, int64_t)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1919
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:2322
GDALExtendedDataTypeH GDALExtendedDataTypeCreateStringEx(size_t nMaxStringLength, GDALExtendedDataTypeSubType eSubType)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition: gdalmultidim.cpp:8349
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:2060
GDALEDTComponentH * GDALExtendedDataTypeGetComponents(GDALExtendedDataTypeH hEDT, size_t *pnCount)
Return the components of the data type (only valid when GetClass() == GEDTC_COMPOUND)
Definition: gdalmultidim.cpp:8552
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:1786
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:404
void GDALGroupRelease(GDALGroupH hGroup)
Release the GDAL in-memory object associated with a GDALGroupH.
Definition: gdalmultidim.cpp:8671
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1828
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:2221
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition: gdalrasterband.cpp:1593
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, CSLConstList papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition: gdal_rat.cpp:289
GUInt64 GDALDimensionGetSize(GDALDimensionH hDim)
Return the size, that is the number of values along the dimension.
Definition: gdalmultidim.cpp:10813
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:3106
int GDALMDArraySetOffsetEx(GDALMDArrayH hArray, double dfOffset, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9756
int GDALMDArrayCache(GDALMDArrayH hArray, CSLConstList papszOptions)
Cache the content of the array into an auxiliary filename.
Definition: gdalmultidim.cpp:10285
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:803
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:2132
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:410
const char * GDALEDTComponentGetName(GDALEDTComponentH hComp)
Return the name.
Definition: gdalmultidim.cpp:8627
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:1042
CPLErr GDALRasterIOEx(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:429
int GDALMDArraySetUnit(GDALMDArrayH hArray, const char *)
Set the variable unit.
Definition: gdalmultidim.cpp:10101
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2931
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1852
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:4439
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:7087
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:1571
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1160
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition: gdaldataset.cpp:1922
size_t GDALExtendedDataTypeGetMaxStringLength(GDALExtendedDataTypeH hEDT)
Return the maximum length of a string in bytes.
Definition: gdalmultidim.cpp:8471
GDALMDArrayH GDALDimensionGetIndexingVariable(GDALDimensionH hDim)
Return the variable that is used to index the dimension (if there is one).
Definition: gdalmultidim.cpp:10832
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:7591
int GDALAttributeWriteDouble(GDALAttributeH hAttr, double)
Write an attribute from a double value.
Definition: gdalmultidim.cpp:10682
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:712
CSLConstList GDALGroupGetStructuralInfo(GDALGroupH hGroup)
Return structural information on the group.
Definition: gdalmultidim.cpp:9019
GDALExtendedDataTypeClass
Enumeration giving the class of a GDALExtendedDataType.
Definition: gdal.h:292
@ GEDTC_STRING
String value.
Definition: gdal.h:296
@ GEDTC_COMPOUND
Compound data type.
Definition: gdal.h:298
@ GEDTC_NUMERIC
Numeric value.
Definition: gdal.h:294
bool GDALDatasetUpdateFieldDomain(GDALDatasetH hDS, OGRFieldDomainH hFieldDomain, char **ppszFailureReason)
Updates an existing field domain by replacing its definition.
Definition: gdaldataset.cpp:8764
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:2039
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:415
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition: gdal_misc.cpp:299
GDALGroupH GDALGroupOpenGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Open and return a sub-group.
Definition: gdalmultidim.cpp:8833
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition: gdaldataset.cpp:7264
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:7484
CPLErr(* GDALDerivedPixelFuncWithArgs)(void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize, GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace, int nLineSpace, CSLConstList papszFunctionArgs)
Type of functions to pass to GDALAddDerivedBandPixelFuncWithArgs.
Definition: gdal.h:970
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands)
Create a virtual pansharpened dataset.
Definition: vrtpansharpened.cpp:93
int GDALGetDataCoverageStatus(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop, double *pdfDataPct)
Get the coverage status of a sub-window of the raster.
Definition: gdalrasterband.cpp:7185
GDALGroupH GDALGroupCreateGroup(GDALGroupH hGroup, const char *pszSubGroupName, CSLConstList papszOptions)
Create a sub-group within a group.
Definition: gdalmultidim.cpp:9053
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:550
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition: gdaldefaultasync.cpp:174
uint64_t GDALGetRasterNoDataValueAsUInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1770
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:3904
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:607
void GDALAttributeFreeRawResult(GDALAttributeH hAttr, GByte *raw, size_t nSize)
Free the return of GDALAttributeAsRaw()
Definition: gdalmultidim.cpp:10444
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:6039
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:868
const char * GDALDimensionGetFullName(GDALDimensionH hDim)
Return dimension full name.
Definition: gdalmultidim.cpp:10771
GUInt64 GDALAttributeGetTotalElementsCount(GDALAttributeH hAttr)
Return the total number of values in the attribute.
Definition: gdalmultidim.cpp:10345
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition: gdalcolortable.cpp:280
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:990
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:132
@ GRIORA_Mode
Definition: gdal.h:140
@ GRIORA_Lanczos
Definition: gdal.h:137
@ GRIORA_Cubic
Definition: gdal.h:135
@ GRIORA_CubicSpline
Definition: gdal.h:136
@ GRIORA_Average
Definition: gdal.h:138
@ GRIORA_RMS
RMS: Root Mean Square / Quadratic Mean.
Definition: gdal.h:150
@ GRIORA_NearestNeighbour
Definition: gdal.h:133
@ GRIORA_Gauss
Definition: gdal.h:141
@ GRIORA_Bilinear
Definition: gdal.h:134
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2984
GDALExtendedDataTypeSubType GDALExtendedDataTypeGetSubType(GDALExtendedDataTypeH hEDT)
Return the subtype of a type.
Definition: gdalmultidim.cpp:8529
GDALExtendedDataTypeH GDALEDTComponentGetType(GDALEDTComponentH hComp)
Return the data type of the component.
Definition: gdalmultidim.cpp:8655
GDALGroupH GDALGroupOpenGroupFromFullname(GDALGroupH hGroup, const char *pszMDArrayName, CSLConstList papszOptions)
Open and return a sub-group from its fully qualified name.
Definition: gdalmultidim.cpp:8904
const char * GDALMDArrayGetName(GDALMDArrayH hArray)
Return array name.
Definition: gdalmultidim.cpp:9182
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:477
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2165
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition: gdal_misc.cpp:465
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:457
int GDALDimensionSetIndexingVariable(GDALDimensionH hDim, GDALMDArrayH hArray)
Set the variable that is used to index the dimension.
Definition: gdalmultidim.cpp:10854
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:4540
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1755
OGRSpatialReferenceH GDALMDArrayGetSpatialRef(GDALMDArrayH hArray)
Return the spatial reference system object associated with the array.
Definition: gdalmultidim.cpp:10159
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2364
GDALEDTComponentH GDALEDTComponentCreate(const char *pszName, size_t nOffset, GDALExtendedDataTypeH hType)
Create a new GDALEDTComponent.
Definition: gdalmultidim.cpp:8596
GDALAttributeH GDALMDArrayGetAttribute(GDALMDArrayH hArray, const char *pszName)
Return an attribute by its name.
Definition: gdalmultidim.cpp:9426
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1811
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:3141
CPLErr GDALDatasetAdviseRead(GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition: gdaldataset.cpp:2890
GDALExtendedDataTypeH GDALAttributeGetDataType(GDALAttributeH hAttr)
Return the data type.
Definition: gdalmultidim.cpp:10401
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:1996
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1659
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:3058
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:268
char ** GDALGroupGetVectorLayerNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of layer names contained in this group.
Definition: gdalmultidim.cpp:8855
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1847
CPLErr GDALDatasetRasterIO(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace)
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2654
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdaldataset.cpp:2023
int GDALExtendedDataTypeCanConvertTo(GDALExtendedDataTypeH hSourceEDT, GDALExtendedDataTypeH hTargetEDT)
Return whether this data type can be converted to the other one.
Definition: gdalmultidim.cpp:8489
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1594
GDALDataType GDALExtendedDataTypeGetNumericDataType(GDALExtendedDataTypeH hEDT)
Return numeric data type (only valid when GetClass() == GEDTC_NUMERIC)
Definition: gdalmultidim.cpp:8441
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:581
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1696
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:3833
OGRErr GDALDatasetAbortSQL(GDALDatasetH)
Abort any SQL statement running in the data store.
Definition: gdaldataset.cpp:4853
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1229
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:3183
int GDALAttributeWriteString(GDALAttributeH hAttr, const char *)
Write an attribute from a string value.
Definition: gdalmultidim.cpp:10639
int GDALMDArraySetScale(GDALMDArrayH hArray, double dfScale)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9699
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
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:803
GDALAsyncReaderH GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace, CSLConstList papszOptions)
Sets up an asynchronous data request.
Definition: gdaldataset.cpp:4055
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1293
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:6083
OGRLayerH GDALDatasetCreateLayer(GDALDatasetH, const char *, OGRSpatialReferenceH, OGRwkbGeometryType, CSLConstList)
This function attempts to create a new layer on the dataset with the indicated name,...
Definition: gdaldataset.cpp:4700
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1352
@ GFT_Real
Definition: gdal.h:1354
@ GFT_String
Definition: gdal.h:1355
@ GFT_Integer
Definition: gdal.h:1353
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:7037
struct GDALMDArrayHS * GDALMDArrayH
Opaque type for C++ GDALMDArray.
Definition: gdal.h:318
int GDALAttributeWriteDoubleArray(GDALAttributeH hAttr, const double *, size_t)
Write an attribute from an array of double.
Definition: gdalmultidim.cpp:10728
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:281
char ** GDALGroupGetGroupNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of sub-groups contained in this group.
Definition: gdalmultidim.cpp:8811
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition: gdal_rat.cpp:2253
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:138
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:1026
OGRLayerH GDALGroupOpenVectorLayer(GDALGroupH hGroup, const char *pszVectorLayerName, CSLConstList papszOptions)
Open and return a vector layer.
Definition: gdalmultidim.cpp:8882
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:9305
const char * GDALDimensionGetName(GDALDimensionH hDim)
Return dimension name.
Definition: gdalmultidim.cpp:10757
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:184
int GDALAttributeWriteRaw(GDALAttributeH hAttr, const void *, size_t)
Write an attribute from raw values expressed in GetDataType()
Definition: gdalmultidim.cpp:10618
size_t * GDALMDArrayGetProcessingChunkSize(GDALMDArrayH hArray, size_t *pnCount, size_t nMaxChunkMemory)
Return an optimal chunk size for read/write operations, given the natural block size and memory const...
Definition: gdalmultidim.cpp:9916
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:4406
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
CPLErr GDALRasterAdviseRead(GDALRasterBandH hRB, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition: gdalrasterband.cpp:3996
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:7366
GDALDimensionH * GDALMDArrayGetDimensions(GDALMDArrayH hArray, size_t *pnCount)
Return the dimensions of the array.
Definition: gdalmultidim.cpp:9247
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:284
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition: gdal_misc.cpp:722
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:4107
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 GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6637
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:9138
int GDALDatasetIsLayerPrivate(GDALDatasetH, int)
Returns true if the layer at the specified index is deemed a private or system table,...
Definition: gdaldataset.cpp:4509
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:323
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1444
void GDALExtendedDataTypeRelease(GDALExtendedDataTypeH hEDT)
Release the GDAL in-memory object associated with a GDALExtendedDataTypeH.
Definition: gdalmultidim.cpp:8400
GDALMDArrayH GDALMDArrayTranspose(GDALMDArrayH hArray, size_t nNewAxisCount, const int *panMapNewAxisToOldAxis)
Return a view of the array whose axis have been reordered.
Definition: gdalmultidim.cpp:9981
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1653
GDALGroupH GDALDatasetGetRootGroup(GDALDatasetH hDS)
Return the root GDALGroup of this dataset.
Definition: gdalmultidim.cpp:10874
GDALDatasetH GDALOpenEx(const char *pszFilename, unsigned int nOpenFlags, const char *const *papszAllowedDrivers, const char *const *papszOpenOptions, const char *const *papszSiblingFiles)
Open a raster or vector file as a GDALDataset.
Definition: gdaldataset.cpp:3338
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1399
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1708
CPLErr GDALDatasetRasterIOEx(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2683
double GDALMDArrayGetOffset(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9821
void GDALReleaseArrays(GDALMDArrayH *arrays, size_t nCount)
Free the return of GDALMDArrayGetCoordinateVariables()
Definition: gdalmultidim.cpp:10264
GDALMDArrayH GDALMDArrayGetMask(GDALMDArrayH hArray, CSLConstList papszOptions)
Return an array that is a mask for the current array.
Definition: gdalmultidim.cpp:10036
const char * GDALAttributeGetName(GDALAttributeH hAttr)
Return the name of the attribute.
Definition: gdalmultidim.cpp:10315
uint64_t GDALMDArrayGetNoDataValueAsUInt64(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a UInt64.
Definition: gdalmultidim.cpp:9598
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:366
char ** GDALGroupGetMDArrayNames(GDALGroupH hGroup, CSLConstList papszOptions)
Return the list of multidimensional array names contained in this group.
Definition: gdalmultidim.cpp:8718
GDALExtendedDataTypeSubType
Enumeration giving the subtype of a GDALExtendedDataType.
Definition: gdal.h:304
@ GEDTST_JSON
JSon.
Definition: gdal.h:308
@ GEDTST_NONE
None.
Definition: gdal.h:306
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:96
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1406
CPLErr GDALAddDerivedBandPixelFuncWithArgs(const char *pszName, GDALDerivedPixelFuncWithArgs pfnPixelFunc, const char *pszMetadata)
This adds a pixel function to the global list of available pixel functions for derived bands.
Definition: vrtderivedrasterband.cpp:282
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:10933
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:5667
GDALMDArrayH * GDALMDArrayGetCoordinateVariables(GDALMDArrayH hArray, size_t *pnCount)
Return coordinate variables.
Definition: gdalmultidim.cpp:10240
int GDALAttributeWriteStringArray(GDALAttributeH hAttr, CSLConstList)
Write an attribute from an array of strings.
Definition: gdalmultidim.cpp:10704
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:10178
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1614
const char * GDALDimensionGetType(GDALDimensionH hDim)
Return dimension type.
Definition: gdalmultidim.cpp:10785
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition: gdal_rat.cpp:592
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:4809
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2782
CSLConstList GDALMDArrayGetStructuralInfo(GDALMDArrayH hArray)
Return structural information on the array.
Definition: gdalmultidim.cpp:9945
GUInt64 * GDALAttributeGetDimensionsSize(GDALAttributeH hAttr, size_t *pnCount)
Return the dimension sizes of the attribute.
Definition: gdalmultidim.cpp:10378
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1266
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:572
GDALExtendedDataTypeH GDALExtendedDataTypeCreateString(size_t nMaxStringLength)
Return a new GDALExtendedDataType of class GEDTC_STRING.
Definition: gdalmultidim.cpp:8329
double GDALMDArrayGetOffsetEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9844
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2312
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:248
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1913
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2354
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:5393
GDALExtendedDataTypeClass GDALExtendedDataTypeGetClass(GDALExtendedDataTypeH hEDT)
Return type class.
Definition: gdalmultidim.cpp:8427
CPLErr GDALRATValuesIOAsInteger(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, int *pnData)
Read or Write a block of ints to/from the Attribute Table.
Definition: gdal_rat.cpp:224
GDALDimensionH GDALGroupCreateDimension(GDALGroupH hGroup, const char *pszName, const char *pszType, const char *pszDirection, GUInt64 nSize, CSLConstList papszOptions)
Create a dimension within a group.
Definition: gdalmultidim.cpp:9076
int GDALMDArraySetScaleEx(GDALMDArrayH hArray, double dfScale, GDALDataType eStorageType)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9718
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:6127
OGRFieldDomainH GDALDatasetGetFieldDomain(GDALDatasetH hDS, const char *pszName)
Get a field domain from its name.
Definition: gdaldataset.cpp:8544
const char * GDALDimensionGetDirection(GDALDimensionH hDim)
Return dimension direction.
Definition: gdalmultidim.cpp:10799
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1397
double GDALMDArrayGetScale(GDALMDArrayH hArray, int *pbHasValue)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9775
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:239
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:361
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:4377
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1741
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition: gdal_rat.cpp:572
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1458
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4877
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:523
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition: gdal_misc.cpp:1240
const char * GDALAttributeReadAsString(GDALAttributeH hAttr)
Return the value of an attribute as a string.
Definition: gdalmultidim.cpp:10480
struct GDALExtendedDataTypeHS * GDALExtendedDataTypeH
Opaque type for C++ GDALExtendedDataType.
Definition: gdal.h:312
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1362
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1541
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1277
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1561
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:2213
int GDALMDArraySetNoDataValueAsDouble(GDALMDArrayH hArray, double dfNoDataValue)
Set the nodata value as a double.
Definition: gdalmultidim.cpp:9638
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition: gdal_misc.cpp:438
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2235
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition: gdal_misc.cpp:525
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:356
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1900
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1468
GDALExtendedDataTypeH GDALMDArrayGetDataType(GDALMDArrayH hArray)
Return the data type.
Definition: gdalmultidim.cpp:9288
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:266
GDALAttributeH * GDALGroupGetAttributes(GDALGroupH hGroup, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this group.
Definition: gdalmultidim.cpp:8990
GDALColorInterp
Definition: gdal.h:205
@ GCI_YCbCr_YBand
Definition: gdal.h:220
@ GCI_Undefined
Definition: gdal.h:206
@ GCI_SaturationBand
Definition: gdal.h:214
@ GCI_LightnessBand
Definition: gdal.h:215
@ GCI_HueBand
Definition: gdal.h:213
@ GCI_CyanBand
Definition: gdal.h:216
@ GCI_MagentaBand
Definition: gdal.h:217
@ GCI_GrayIndex
Definition: gdal.h:207
@ GCI_BlueBand
Definition: gdal.h:211
@ GCI_PaletteIndex
Definition: gdal.h:208
@ GCI_RedBand
Definition: gdal.h:209
@ GCI_AlphaBand
Definition: gdal.h:212
@ GCI_Max
Definition: gdal.h:223
@ GCI_YCbCr_CrBand
Definition: gdal.h:222
@ GCI_GreenBand
Definition: gdal.h:210
@ GCI_YellowBand
Definition: gdal.h:218
@ GCI_BlackBand
Definition: gdal.h:219
@ GCI_YCbCr_CbBand
Definition: gdal.h:221
struct GDALGroupHS * GDALGroupH
Opaque type for C++ GDALGroup.
Definition: gdal.h:316
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:95
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition: gdaldefaultasync.cpp:233
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1054
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:947
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1294
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2607
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2405
GDALAttributeH * GDALMDArrayGetAttributes(GDALMDArrayH hArray, size_t *pnCount, CSLConstList papszOptions)
Return the list of attributes contained in this array.
Definition: gdalmultidim.cpp:9455
int GDALExtendedDataTypeEquals(GDALExtendedDataTypeH hFirstEDT, GDALExtendedDataTypeH hSecondEDT)
Return whether this data type is equal to another one.
Definition: gdalmultidim.cpp:8509
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:4107
GByte * GDALAttributeReadAsRaw(GDALAttributeH hAttr, size_t *pnSize)
Return the raw value of an attribute.
Definition: gdalmultidim.cpp:10423
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:2232
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1108
const char * GDALAttributeGetFullName(GDALAttributeH hAttr)
Return the full name of the attribute.
Definition: gdalmultidim.cpp:10331
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition: gdaldataset.cpp:4755
int GDALMDArrayAdviseRead(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count)
Advise driver of upcoming read requests.
Definition: gdalmultidim.cpp:9387
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:183
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:104
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1810
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:907
void GDALReleaseAttributes(GDALAttributeH *attributes, size_t nCount)
Free the return of GDALGroupGetAttributes() or GDALMDArrayGetAttributes()
Definition: gdalmultidim.cpp:9034
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:6182
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1535
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:3335
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:2007
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:9105
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1439
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:392
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:497
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2407
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:1203
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:120
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:275
int GDALAttributeWriteInt(GDALAttributeH hAttr, int)
Write an attribute from a integer value.
Definition: gdalmultidim.cpp:10660
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:372
double GDALAttributeReadAsDouble(GDALAttributeH hAttr)
Return the value of an attribute as a double.
Definition: gdalmultidim.cpp:10520
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:746
void GDALEDTComponentRelease(GDALEDTComponentH hComp)
Release the GDAL in-memory object associated with a GDALEDTComponentH.
Definition: gdalmultidim.cpp:8612
CPLErr GDALAddDerivedBandPixelFunc(const char *pszName, GDALDerivedPixelFunc pfnPixelFunc)
This adds a pixel function to the global list of available pixel functions for derived bands.
Definition: vrtderivedrasterband.cpp:239
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1439
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:2749
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:3100
GDALDatasetH GDALCreateMultiDimensional(GDALDriverH hDriver, const char *pszName, CSLConstList papszRootGroupOptions, CSLConstList papszOptions)
Create a new multidimensional dataset with this driver.
Definition: gdaldriver.cpp:369
GDALRWFlag
Definition: gdal.h:122
@ GF_Write
Definition: gdal.h:124
@ GF_Read
Definition: gdal.h:123
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2463
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition: gdaltransformer.cpp:4133
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:3395
CPLErr GDALRATValuesIOAsDouble(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, double *pdfData)
Read or Write a block of doubles to/from the Attribute Table.
Definition: gdal_rat.cpp:162
void GDALMDArrayRelease(GDALMDArrayH hMDArray)
Release the GDAL in-memory object associated with a GDALMDArray.
Definition: gdalmultidim.cpp:9169
int GDALMDArraySetSpatialRef(GDALMDArrayH, OGRSpatialReferenceH)
Assign a spatial reference system object to the the array.
Definition: gdalmultidim.cpp:10142
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:625
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1253
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess)
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3235
double * GDALAttributeReadAsDoubleArray(GDALAttributeH hAttr, size_t *pnCount)
Return the value of an attribute as an array of doubles.
Definition: gdalmultidim.cpp:10583
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:2263
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:962
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:10206
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:3640
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:272
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
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition: gdaldriver.cpp:95
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1733
double GDALMDArrayGetScaleEx(GDALMDArrayH hArray, int *pbHasValue, GDALDataType *peStorageType)
Get the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9798
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:278
CPLErr GDALRasterIO(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nPixelSpace, int nLineSpace)
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:401
int64_t GDALGetRasterNoDataValueAsInt64(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1709
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *)
Create a copy of a dataset.
Definition: gdaldriver.cpp:1242
int GDALMDArraySetOffset(GDALMDArrayH hArray, double dfOffset)
Set the scale value to apply to raw values.
Definition: gdalmultidim.cpp:9737
const char * GDALGroupGetName(GDALGroupH hGroup)
Return the name of the group.
Definition: gdalmultidim.cpp:8686
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:4079
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition: gdal_rat.cpp:1204
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:200
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2764
int GDALMDArrayAdviseReadEx(GDALMDArrayH hArray, const GUInt64 *arrayStartIdx, const size_t *count, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition: gdalmultidim.cpp:9406
CPLErr GDALSetRasterNoDataValueAsUInt64(GDALRasterBandH, uint64_t)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1991
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4935
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition: gdaldataset.cpp:1079
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:114
size_t GDALEDTComponentGetOffset(GDALEDTComponentH hComp)
Return the offset (in bytes) of the component in the compound data type.
Definition: gdalmultidim.cpp:8641
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1512
@ GTO_BIT
Definition: gdal.h:1516
@ GTO_BSQ
Definition: gdal.h:1518
@ GTO_TIP
Definition: gdal.h:1514
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:447
GDALExtendedDataTypeH GDALExtendedDataTypeCreateCompound(const char *pszName, size_t nTotalSize, size_t nComponents, const GDALEDTComponentH *comps)
Return a new GDALExtendedDataType of class GEDTC_COMPOUND.
Definition: gdalmultidim.cpp:8374
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2388
GDALMDArrayH GDALMDArrayGetUnscaled(GDALMDArrayH hArray)
Return an array that is the unscaled version of the current one.
Definition: gdalmultidim.cpp:10014
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:5741
double GDALMDArrayGetNoDataValueAsDouble(GDALMDArrayH hArray, int *pbHasNoDataValue)
Return the nodata value as a double.
Definition: gdalmultidim.cpp:9546
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition: gdalcolortable.cpp:135
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2421
GUInt64 * GDALMDArrayGetBlockSize(GDALMDArrayH hArray, size_t *pnCount)
Return the "natural" block size of the array along all dimensions.
Definition: gdalmultidim.cpp:9880
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:663
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:3636
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes.
void * OGRGeometryH
Opaque type for a geometry.
Definition: ogr_api.h:65
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:80
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:590
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:335
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition: ogr_api.h:343
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:337
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:369
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:341
Document node structure.
Definition: cpl_minixml.h:70
Color tuple.
Definition: gdal.h:1321
short c4
Definition: gdal.h:1332
short c2
Definition: gdal.h:1326
short c3
Definition: gdal.h:1329
short c1
Definition: gdal.h:1323
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1282
double dfLAT_OFF
Definition: gdal.h:1285
double dfLONG_SCALE
Definition: gdal.h:1292
double dfHEIGHT_OFF
Definition: gdal.h:1287
double dfMAX_LAT
Definition: gdal.h:1303
double dfMIN_LAT
Definition: gdal.h:1301
double dfLINE_OFF
Definition: gdal.h:1283
double dfLONG_OFF
Definition: gdal.h:1286
double dfSAMP_SCALE
Definition: gdal.h:1290
double dfMAX_LONG
Definition: gdal.h:1302
double dfERR_BIAS
Definition: gdal.h:1306
double dfERR_RAND
Definition: gdal.h:1307
double dfLINE_SCALE
Definition: gdal.h:1289
double dfHEIGHT_SCALE
Definition: gdal.h:1293
double dfMIN_LONG
Definition: gdal.h:1300
double dfLAT_SCALE
Definition: gdal.h:1291
double dfSAMP_OFF
Definition: gdal.h:1284
Structure to pass extra arguments to RasterIO() method, must be initialized with INIT_RASTERIO_EXTRA_...
Definition: gdal.h:162
void * pProgressData
Definition: gdal.h:172
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:167
double dfXOff
Definition: gdal.h:180
int nVersion
Definition: gdal.h:164
double dfYSize
Definition: gdal.h:186
double dfYOff
Definition: gdal.h:182
double dfXSize
Definition: gdal.h:184
GDALProgressFunc pfnProgress
Definition: gdal.h:170
int bFloatingPointWindowValidity
Definition: gdal.h:178
Ground Control Point.
Definition: gdal.h:733
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:743
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:746
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:735
char * pszInfo
Informational message or "".
Definition: gdal.h:738
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:741
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:749
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:752