GDAL
gdal.h
Go to the documentation of this file.
1/******************************************************************************
2 * $Id: gdal.h 7601a637dfd204948d00f4691c08f02eb7584de5 2019-04-12 04:29:21 -0500 Norman Barker $
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 mines-paris dot org>
11 *
12 * Permission is hereby granted, free of charge, to any person obtaining a
13 * copy of this software and associated documentation files (the "Software"),
14 * to deal in the Software without restriction, including without limitation
15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 * and/or sell copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following conditions:
18 *
19 * The above copyright notice and this permission notice shall be included
20 * in all copies or substantial portions of the Software.
21 *
22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28 * DEALINGS IN THE SOFTWARE.
29 ****************************************************************************/
30
31#ifndef GDAL_H_INCLUDED
32#define GDAL_H_INCLUDED
33
40#ifndef DOXYGEN_SKIP
41#if defined(GDAL_COMPILATION)
42#define DO_NOT_DEFINE_GDAL_RELEASE_DATE_AND_GDAL_RELEASE_NAME
43#endif
44#include "gdal_version.h"
45#include "cpl_port.h"
46#include "cpl_error.h"
47#include "cpl_progress.h"
48#include "cpl_virtualmem.h"
49#include "cpl_minixml.h"
50#include "ogr_api.h"
51#endif
52
53/* -------------------------------------------------------------------- */
54/* Significant constants. */
55/* -------------------------------------------------------------------- */
56
58
60typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5,
67 /* TODO?(#6879): GDT_UInt64 */
68 /* TODO?(#6879): GDT_Int64 */ GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
73 /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
76 GDT_TypeCount = 12 /* maximum type # + 1 */
78
79int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated.
80int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
81int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
82int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
83int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger( GDALDataType );
84int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
85int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
86const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
87GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
89GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
90GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
91GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
92double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
94int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy( GDALDataType eTypeFrom,
95 GDALDataType eTypeTo );
96
100typedef enum
101{
102 GARIO_PENDING = 0,
103 GARIO_UPDATE = 1,
104 GARIO_ERROR = 2,
105 GARIO_COMPLETE = 3,
106 GARIO_TypeCount = 4
108
109const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
110GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
111
113typedef enum { GA_ReadOnly = 0, GA_Update = 1
117
119typedef enum { GF_Read = 0, GF_Write = 1
123
124/* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
128typedef enum
139 /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
141
142/* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
143/* and INIT_RASTERIO_EXTRA_ARG */
147typedef struct
148{
151
154
156 GDALProgressFunc pfnProgress;
159
166 double dfXOff;
168 double dfYOff;
170 double dfXSize;
172 double dfYSize;
174
175#ifndef DOXYGEN_SKIP
176#define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
177#endif
178
182#define INIT_RASTERIO_EXTRA_ARG(s) \
183 do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
184 (s).eResampleAlg = GRIORA_NearestNeighbour; \
185 (s).pfnProgress = CPL_NULLPTR; \
186 (s).pProgressData = CPL_NULLPTR; \
187 (s).bFloatingPointWindowValidity = FALSE; } while(0)
188
190typedef enum
211
213GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
214
216typedef enum
217{ GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
223
225
226/* "well known" metadata items. */
227
230#define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
233# define GDALMD_AOP_AREA "Area"
236# define GDALMD_AOP_POINT "Point"
237
238/* -------------------------------------------------------------------- */
239/* GDAL Specific error codes. */
240/* */
241/* error codes 100 to 299 reserved for GDAL. */
242/* -------------------------------------------------------------------- */
243#ifndef DOXYGEN_SKIP
244#define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
245#endif
246
247/* -------------------------------------------------------------------- */
248/* Define handle types related to various internal classes. */
249/* -------------------------------------------------------------------- */
250
252typedef void *GDALMajorObjectH;
253
255typedef void *GDALDatasetH;
256
258typedef void *GDALRasterBandH;
259
261typedef void *GDALDriverH;
262
264typedef void *GDALColorTableH;
265
268
270typedef void *GDALAsyncReaderH;
271
274
275/* ==================================================================== */
276/* Registration/driver related. */
277/* ==================================================================== */
278
280#define GDAL_DMD_LONGNAME "DMD_LONGNAME"
281
283#define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
284
286#define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
287
289#define GDAL_DMD_EXTENSION "DMD_EXTENSION"
290
295#define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
296
300#define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
301
303#define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
304
308#define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
309
311#define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
312
316#define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
317
321#define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
322
324#define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
325
327#define GDAL_DCAP_OPEN "DCAP_OPEN"
328
337#define GDAL_DCAP_CREATE "DCAP_CREATE"
338
347#define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
348
350#define GDAL_DCAP_SUBCREATECOPY "DCAP_SUBCREATECOPY"
351
353#define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
354
358#define GDAL_DCAP_RASTER "DCAP_RASTER"
359
363#define GDAL_DCAP_VECTOR "DCAP_VECTOR"
364
368#define GDAL_DCAP_GNM "DCAP_GNM"
369
373#define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
374
378#define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
379
383#define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
384
390#define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
391
395#define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
396
397void CPL_DLL CPL_STDCALL GDALAllRegister( void );
398
399GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
400 const char *, int, int, int, GDALDataType,
402GDALDatasetH CPL_DLL CPL_STDCALL
404 int, CSLConstList, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
405
406GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
407 CSLConstList papszFileList );
408
409GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
410 const char *pszFilename, unsigned int nIdentifyFlags,
411 const char *const *papszAllowedDrivers, const char *const *papszFileList);
412
413GDALDatasetH CPL_DLL CPL_STDCALL
414GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
415GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
416
417/* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
418/* equals to GA_ReadOnly and GA_Update */
419
424#define GDAL_OF_READONLY 0x00
425
430#define GDAL_OF_UPDATE 0x01
431
436#define GDAL_OF_ALL 0x00
437
442#define GDAL_OF_RASTER 0x02
443
448#define GDAL_OF_VECTOR 0x04
449
454#define GDAL_OF_GNM 0x08
455
456/* Some space for GDAL 3.0 new types ;-) */
457/*#define GDAL_OF_OTHER_KIND1 0x08 */
458/*#define GDAL_OF_OTHER_KIND2 0x10 */
459#ifndef DOXYGEN_SKIP
460#define GDAL_OF_KIND_MASK 0x1E
461#endif
462
467#define GDAL_OF_SHARED 0x20
468
473#define GDAL_OF_VERBOSE_ERROR 0x40
474
481#define GDAL_OF_INTERNAL 0x80
482
492#define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
493
502#define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
503
512#define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
513
514#ifndef DOXYGEN_SKIP
515/* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
516 * and GDAL_OF_HASHSET_BLOCK_ACCESS */
517#define GDAL_OF_RESERVED_1 0x300
518
520#define GDAL_OF_BLOCK_ACCESS_MASK 0x300
521#endif
522
523GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
524 unsigned int nOpenFlags,
525 const char* const* papszAllowedDrivers,
526 const char* const* papszOpenOptions,
527 const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
528
529int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
530
531GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
532int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
533GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
534GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
535void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
536int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
537void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
538void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
539#ifndef DOXYGEN_SKIP
540void CPL_DLL GDALDestroy( void );
541#endif
542CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
543CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
544 const char * pszNewName,
545 const char * pszOldName );
546CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
547 const char * pszNewName,
548 const char * pszOldName);
549int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
550 CSLConstList papszCreationOptions);
551
552/* The following are deprecated */
553const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
554const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
555const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
556const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
557
558/* ==================================================================== */
559/* GDAL_GCP */
560/* ==================================================================== */
561
563typedef struct
564{
566 char *pszId;
567
569 char *pszInfo;
570
574 double dfGCPLine;
575
577 double dfGCPX;
578
580 double dfGCPY;
581
583 double dfGCPZ;
584} GDAL_GCP;
585
586void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
587void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
588GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
589
590int CPL_DLL CPL_STDCALL
591GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
592 double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
593int CPL_DLL CPL_STDCALL
594GDALInvGeoTransform( double *padfGeoTransformIn,
595 double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
596void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
597 double *, double * );
598void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
599 const double *padfGeoTransform2,
600 double *padfGeoTransformOut);
601
602/* ==================================================================== */
603/* major objects (dataset, and, driver, drivermanager). */
604/* ==================================================================== */
605
606char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
607char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
609 const char * );
610const char CPL_DLL * CPL_STDCALL
611GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
612CPLErr CPL_DLL CPL_STDCALL
613GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
614 const char * );
615const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
616void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
617
618/* ==================================================================== */
619/* GDALDataset class ... normally this represents one file. */
620/* ==================================================================== */
621
623#define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
624
625GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
626char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
627void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
628int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
629int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
630int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
631GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
632
633CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
634 CSLConstList papszOptions );
635
636GDALAsyncReaderH CPL_DLL CPL_STDCALL
637GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
638 int nXSize, int nYSize,
639 void *pBuf, int nBufXSize, int nBufYSize,
640 GDALDataType eBufType, int nBandCount, int* panBandMap,
641 int nPixelSpace, int nLineSpace, int nBandSpace,
643
644void CPL_DLL CPL_STDCALL
646
647CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
648 GDALDatasetH hDS, GDALRWFlag eRWFlag,
649 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
650 void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
651 int nBandCount, int *panBandCount,
652 int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
653
654CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
655 GDALDatasetH hDS, GDALRWFlag eRWFlag,
656 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
657 void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
658 int nBandCount, int *panBandCount,
659 GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
661
662CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
663 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
664 int nBXSize, int nBYSize, GDALDataType eBDataType,
665 int nBandCount, int *panBandCount, CSLConstList papszOptions );
666
667const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
669CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
671CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
672CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
673
674int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
675const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
677const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
678CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
679 const char * );
680CPLErr CPL_DLL GDALSetGCPs2( GDALDatasetH, int, const GDAL_GCP *,
682
683void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
684int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
685int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
686int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
687
688CPLErr CPL_DLL CPL_STDCALL
689GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
690 int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
691void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
692int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
693void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
694
695CPLErr CPL_DLL CPL_STDCALL
696 GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
697
698CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
699 GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
700 GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
701
702CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
703 GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
704 const char * const * constpapszOptions,
705 GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
706
707CPLErr CPL_DLL
709 int nOverviewCount, GDALRasterBandH *pahOverviewBands,
710 const char *pszResampling,
711 GDALProgressFunc pfnProgress, void *pProgressData );
712
715OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
717OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
719 CSLConstList );
721 CSLConstList );
724 OGRLayerH* phBelongingLayer,
725 double* pdfProgressPct,
726 GDALProgressFunc pfnProgress,
727 void* pProgressData );
728int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
729OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
730 OGRGeometryH, const char * );
735OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
738
739/* ==================================================================== */
740/* GDALRasterBand ... one band/channel in a dataset. */
741/* ==================================================================== */
742
747#define SRCVAL(papoSource, eSrcType, ii) \
748 (eSrcType == GDT_Byte ? \
749 CPL_REINTERPRET_CAST(const GByte*,papoSource)[ii] : \
750 (eSrcType == GDT_Float32 ? \
751 CPL_REINTERPRET_CAST(const float*,papoSource)[ii] : \
752 (eSrcType == GDT_Float64 ? \
753 CPL_REINTERPRET_CAST(const double*,papoSource)[ii] : \
754 (eSrcType == GDT_Int32 ? \
755 CPL_REINTERPRET_CAST(const GInt32*,papoSource)[ii] : \
756 (eSrcType == GDT_UInt16 ? \
757 CPL_REINTERPRET_CAST(const GUInt16*,papoSource)[ii] : \
758 (eSrcType == GDT_Int16 ? \
759 CPL_REINTERPRET_CAST(const GInt16*,papoSource)[ii] : \
760 (eSrcType == GDT_UInt32 ? \
761 CPL_REINTERPRET_CAST(const GUInt32*,papoSource)[ii] : \
762 (eSrcType == GDT_CInt16 ? \
763 CPL_REINTERPRET_CAST(const GInt16*,papoSource)[(ii) * 2] : \
764 (eSrcType == GDT_CInt32 ? \
765 CPL_REINTERPRET_CAST(const GInt32*,papoSource)[(ii) * 2] : \
766 (eSrcType == GDT_CFloat32 ? \
767 CPL_REINTERPRET_CAST(const float*,papoSource)[(ii) * 2] : \
768 (eSrcType == GDT_CFloat64 ? \
769 CPL_REINTERPRET_CAST(const double*,papoSource)[(ii) * 2] : 0)))))))))))
770
773typedef CPLErr
774(*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
775 int nBufXSize, int nBufYSize,
776 GDALDataType eSrcType, GDALDataType eBufType,
777 int nPixelSpace, int nLineSpace);
778
780void CPL_DLL CPL_STDCALL
781GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
782
783CPLErr CPL_DLL CPL_STDCALL
784GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
785 int *pnXValid, int *pnYValid );
786
787CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
788 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
789 int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions );
790
791CPLErr CPL_DLL CPL_STDCALL
793 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
794 void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
795 int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
796CPLErr CPL_DLL CPL_STDCALL
798 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
799 void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
800 GSpacing nPixelSpace, GSpacing nLineSpace,
802CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
803CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
804int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
805int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
806GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
807int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
808GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
809
810GDALColorInterp CPL_DLL CPL_STDCALL
812CPLErr CPL_DLL CPL_STDCALL
816int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
817int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
818GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
819double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
820CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
822char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
824double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
825double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
826CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
827 GDALRasterBandH, int bApproxOK, int bForce,
828 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
829CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
830 GDALRasterBandH, int bApproxOK,
831 double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
832 GDALProgressFunc pfnProgress, void *pProgressData );
833CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
834 GDALRasterBandH hBand,
835 double dfMin, double dfMax, double dfMean, double dfStdDev );
836
837const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
838CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
839double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
840CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
841double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
842CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
843void CPL_DLL CPL_STDCALL
844GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
845 double adfMinMax[2] );
846CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
847CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
848 double dfMin, double dfMax,
849 int nBuckets, int *panHistogram,
850 int bIncludeOutOfRange, int bApproxOK,
851 GDALProgressFunc pfnProgress,
852 void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
853CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
854 double dfMin, double dfMax,
855 int nBuckets, GUIntBig *panHistogram,
856 int bIncludeOutOfRange, int bApproxOK,
857 GDALProgressFunc pfnProgress,
858 void * pProgressData );
859CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
860 double *pdfMin, double *pdfMax,
861 int *pnBuckets, int **ppanHistogram,
862 int bForce,
863 GDALProgressFunc pfnProgress,
864 void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
865CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
866 double *pdfMin, double *pdfMax,
867 int *pnBuckets, GUIntBig **ppanHistogram,
868 int bForce,
869 GDALProgressFunc pfnProgress,
870 void * pProgressData );
871CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
872 double dfMin, double dfMax,
873 int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
874CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
875 double dfMin, double dfMax,
876 int nBuckets, GUIntBig *panHistogram );
877int CPL_DLL CPL_STDCALL
879GDALRasterBandH CPL_DLL CPL_STDCALL
881GDALRasterBandH CPL_DLL CPL_STDCALL
883CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
884 double dfRealValue, double dfImaginaryValue );
885CPLErr CPL_DLL CPL_STDCALL
886GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
887 double *pdfMean, double *pdfStdDev,
888 GDALProgressFunc pfnProgress,
889 void *pProgressData );
891 int nOverviewCount,
892 GDALRasterBandH *pahOverviews,
893 GDALProgressFunc pfnProgress,
894 void *pProgressData );
895
897 GDALRasterBandH hBand );
898CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
900CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
901 GDALDerivedPixelFunc pfnPixelFunc );
902
903GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
904int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
905CPLErr CPL_DLL CPL_STDCALL
906 GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
907
909#define GMF_ALL_VALID 0x01
912#define GMF_PER_DATASET 0x02
915#define GMF_ALPHA 0x04
918#define GMF_NODATA 0x08
919
923#define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
924
929#define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
930
936#define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
937
938int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
939 int nXOff, int nYOff,
940 int nXSize, int nYSize,
941 int nMaskFlagStop,
942 double* pdfDataPct );
943
944/* ==================================================================== */
945/* GDALAsyncReader */
946/* ==================================================================== */
947
948GDALAsyncStatusType CPL_DLL CPL_STDCALL
949GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
950 int* pnXBufOff, int* pnYBufOff,
951 int* pnXBufSize, int* pnYBufSize );
952int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
953 double dfTimeout);
954void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
955
956/* -------------------------------------------------------------------- */
957/* Helper functions. */
958/* -------------------------------------------------------------------- */
959int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
960 int nOptions );
961void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
962 int nWordSkip );
963void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
964 int nWordSkip );
965
966void CPL_DLL CPL_STDCALL
967 GDALCopyWords( const void * CPL_RESTRICT pSrcData,
968 GDALDataType eSrcType, int nSrcPixelOffset,
969 void * CPL_RESTRICT pDstData,
970 GDALDataType eDstType, int nDstPixelOffset,
971 int nWordCount );
972
973void CPL_DLL CPL_STDCALL
974 GDALCopyWords64( const void * CPL_RESTRICT pSrcData,
975 GDALDataType eSrcType, int nSrcPixelOffset,
976 void * CPL_RESTRICT pDstData,
977 GDALDataType eDstType, int nDstPixelOffset,
978 GPtrDiff_t nWordCount );
979
980void CPL_DLL
981GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
982 GByte *pabyDstData, int nDstOffset, int nDstStep,
983 int nBitCount, int nStepCount );
984
985int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
986int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
987 double * );
988int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
989 double * );
990int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
991 int *, GDAL_GCP ** );
992int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
993 int *, GDAL_GCP ** );
994int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
995 int *, GDAL_GCP ** );
996int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
997 char **, int *, GDAL_GCP ** );
998
999const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
1000double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
1001double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
1002
1003/* Note to developers : please keep this section in sync with ogr_core.h */
1004
1005#ifndef GDAL_VERSION_INFO_DEFINED
1006#ifndef DOXYGEN_SKIP
1007#define GDAL_VERSION_INFO_DEFINED
1008#endif
1009const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
1010#endif
1011
1012#ifndef GDAL_CHECK_VERSION
1013
1014int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
1015 const char* pszCallingComponentName);
1016
1020#define GDAL_CHECK_VERSION(pszCallingComponentName) \
1021 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1022
1023#endif
1024
1027typedef struct
1028{
1029 double dfLINE_OFF;
1030 double dfSAMP_OFF;
1031 double dfLAT_OFF;
1032 double dfLONG_OFF;
1041 double adfLINE_NUM_COEFF[20];
1042 double adfLINE_DEN_COEFF[20];
1043 double adfSAMP_NUM_COEFF[20];
1044 double adfSAMP_DEN_COEFF[20];
1046 double dfMIN_LONG;
1047 double dfMIN_LAT;
1048 double dfMAX_LONG;
1049 double dfMAX_LAT;
1050} GDALRPCInfo;
1051
1052int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( CSLConstList, GDALRPCInfo * );
1053
1054/* ==================================================================== */
1055/* Color tables. */
1056/* ==================================================================== */
1057
1059typedef struct
1060{
1062 short c1;
1063
1065 short c2;
1066
1068 short c3;
1069
1071 short c4;
1073
1075void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1078int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1079const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1080int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1081void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1082void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1083 int nStartIndex, const GDALColorEntry *psStartColor,
1084 int nEndIndex, const GDALColorEntry *psEndColor );
1085
1086/* ==================================================================== */
1087/* Raster Attribute Table */
1088/* ==================================================================== */
1089
1096
1119
1127
1128GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1130
1131void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1133
1134int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1135
1136const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1138GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1140GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1142
1143int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1145int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1146
1147const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1148 GDALRasterAttributeTableH, int, int);
1149int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1150 GDALRasterAttributeTableH, int, int);
1151double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1152 GDALRasterAttributeTableH, int, int);
1153
1154void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1155 const char * );
1156void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1157 int );
1158void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1159 double );
1160
1161int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1162
1163CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1164 int iField, int iStartRow, int iLength, double *pdfData );
1165CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1166 int iField, int iStartRow, int iLength, int *pnData);
1167CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1168 int iField, int iStartRow, int iLength, CSLConstList papszStrList);
1169
1170void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1171 int );
1173 const char *,
1177 double, double );
1178int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1179 double *, double * );
1180CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType( GDALRasterAttributeTableH hRAT,
1181 const GDALRATTableType eInTableType );
1183CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1186 GDALRasterAttributeTableH, int nEntryCount );
1187void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1188 FILE * );
1189GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1191
1192void CPL_DLL* CPL_STDCALL
1194
1195int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1196void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics( GDALRasterAttributeTableH );
1197
1198/* ==================================================================== */
1199/* GDAL Cache Management */
1200/* ==================================================================== */
1201
1202void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1203int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1204int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1205void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1206GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1207GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1208
1209int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1210
1211/* ==================================================================== */
1212/* GDAL virtual memory */
1213/* ==================================================================== */
1214
1216 GDALRWFlag eRWFlag,
1217 int nXOff, int nYOff,
1218 int nXSize, int nYSize,
1219 int nBufXSize, int nBufYSize,
1220 GDALDataType eBufType,
1221 int nBandCount, int* panBandMap,
1222 int nPixelSpace,
1223 GIntBig nLineSpace,
1224 GIntBig nBandSpace,
1225 size_t nCacheSize,
1226 size_t nPageSizeHint,
1227 int bSingleThreadUsage,
1228 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1229
1231 GDALRWFlag eRWFlag,
1232 int nXOff, int nYOff,
1233 int nXSize, int nYSize,
1234 int nBufXSize, int nBufYSize,
1235 GDALDataType eBufType,
1236 int nPixelSpace,
1237 GIntBig nLineSpace,
1238 size_t nCacheSize,
1239 size_t nPageSizeHint,
1240 int bSingleThreadUsage,
1241 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1242
1244 GDALRWFlag eRWFlag,
1245 int *pnPixelSpace,
1246 GIntBig *pnLineSpace,
1247 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1248
1250typedef enum
1251{
1257 GTO_BSQ
1259
1261 GDALRWFlag eRWFlag,
1262 int nXOff, int nYOff,
1263 int nXSize, int nYSize,
1264 int nTileXSize, int nTileYSize,
1265 GDALDataType eBufType,
1266 int nBandCount, int* panBandMap,
1267 GDALTileOrganization eTileOrganization,
1268 size_t nCacheSize,
1269 int bSingleThreadUsage,
1270 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1271
1273 GDALRWFlag eRWFlag,
1274 int nXOff, int nYOff,
1275 int nXSize, int nYSize,
1276 int nTileXSize, int nTileYSize,
1277 GDALDataType eBufType,
1278 size_t nCacheSize,
1279 int bSingleThreadUsage,
1280 CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1281
1282/* ==================================================================== */
1283/* VRTPansharpenedDataset class. */
1284/* ==================================================================== */
1285
1286GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1287 GDALRasterBandH hPanchroBand,
1288 int nInputSpectralBands,
1289 GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1290
1291/* =================================================================== */
1292/* Misc API */
1293/* ==================================================================== */
1294
1295CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1297
1299
1300#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.
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:980
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition: cpl_port.h:251
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:339
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
GIntBig GPtrDiff_t
Integer type large enough to hold the difference between 2 addresses.
Definition: cpl_port.h:286
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1194
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:939
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:215
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:248
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:273
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2245
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1435
GDALRATTableType
RAT table type (thematic or athematic)
Definition: gdal.h:1123
@ GRTT_THEMATIC
Definition: gdal.h:1124
@ GRTT_ATHEMATIC
Definition: gdal.h:1125
GDALAccess
Definition: gdal.h:113
@ GA_ReadOnly
Definition: gdal.h:114
@ GA_Update
Definition: gdal.h:115
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1975
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:2601
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:504
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:4240
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1635
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:350
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:3588
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:1012
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:325
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:378
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:146
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1308
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1894
CPLVirtualMem * GDALDatasetGetTiledVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization, size_t nCacheSize, int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1554
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6240
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:1118
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:790
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1756
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:926
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1907
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2203
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:905
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1513
GDALPaletteInterp
Definition: gdal.h:217
@ GPI_CMYK
Definition: gdal.h:220
@ GPI_HLS
Definition: gdal.h:221
@ GPI_Gray
Definition: gdal.h:218
@ GPI_RGB
Definition: gdal.h:219
CPLErr GDALGetRasterHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:3418
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:136
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:816
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2342
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3837
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:999
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:355
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4589
GDALDataType
Definition: gdal.h:60
@ GDT_UInt32
Definition: gdal.h:65
@ GDT_CInt32
Definition: gdal.h:72
@ GDT_Byte
Definition: gdal.h:62
@ GDT_CFloat32
Definition: gdal.h:74
@ GDT_CFloat64
Definition: gdal.h:75
@ GDT_Float64
Definition: gdal.h:70
@ GDT_UInt16
Definition: gdal.h:63
@ GDT_Int16
Definition: gdal.h:64
@ GDT_CInt16
Definition: gdal.h:71
@ GDT_Int32
Definition: gdal.h:66
@ GDT_Unknown
Definition: gdal.h:61
@ GDT_Float32
Definition: gdal.h:69
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2444
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:7150
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:255
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2163
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition: gdalcolortable.cpp:135
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2698
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2733
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1355
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1098
@ GFU_Min
Definition: gdal.h:1102
@ GFU_AlphaMin
Definition: gdal.h:1112
@ GFU_GreenMin
Definition: gdal.h:1110
@ GFU_Red
Definition: gdal.h:1105
@ GFU_Alpha
Definition: gdal.h:1108
@ GFU_MaxCount
Definition: gdal.h:1117
@ GFU_MinMax
Definition: gdal.h:1104
@ GFU_RedMin
Definition: gdal.h:1109
@ GFU_GreenMax
Definition: gdal.h:1114
@ GFU_Name
Definition: gdal.h:1101
@ GFU_BlueMax
Definition: gdal.h:1115
@ GFU_BlueMin
Definition: gdal.h:1111
@ GFU_RedMax
Definition: gdal.h:1113
@ GFU_Green
Definition: gdal.h:1106
@ GFU_Blue
Definition: gdal.h:1107
@ GFU_AlphaMax
Definition: gdal.h:1116
@ GFU_PixelCount
Definition: gdal.h:1100
@ GFU_Generic
Definition: gdal.h:1099
@ GFU_Max
Definition: gdal.h:1103
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2550
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:783
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1485
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5700
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2856
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset.
Definition: gdal_rat.cpp:1927
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition: gdaldataset.cpp:1612
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:3673
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1690
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:838
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:6150
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:4056
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:332
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:1488
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:2024
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1816
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:396
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1244
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1825
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1933
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition: gdalrasterband.cpp:1583
CPLErr GDALDatasetRasterIOEx(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2598
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, CSLConstList papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition: gdal_rat.cpp:288
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:760
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1844
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1457
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:390
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:904
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3563
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:878
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1554
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:4211
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:1273
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1157
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition: gdaldataset.cpp:1871
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:7202
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:695
int GDALExtractRPCInfo(CSLConstList, GDALRPCInfo *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3401
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp) CPL_WARN_UNUSED_RESULT
Construct a new color table.
Definition: gdalcolortable.cpp:69
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1751
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:281
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition: gdaldataset.cpp:6875
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:7095
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:6783
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:864
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:825
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:549
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition: gdaldefaultasync.cpp:174
CPLVirtualMem * GDALRasterBandGetTiledVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, size_t nCacheSize, int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1669
CPLErr GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3616
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT
Construct empty table.
Definition: gdal_rat.cpp:1201
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
Set default histogram.
Definition: gdalrasterband.cpp:5748
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:590
CPLErr GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3545
CPLErr GDALRasterIOEx(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:422
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition: gdalcolortable.cpp:280
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:129
@ GRIORA_Mode
Definition: gdal.h:137
@ GRIORA_Lanczos
Definition: gdal.h:134
@ GRIORA_Cubic
Definition: gdal.h:132
@ GRIORA_CubicSpline
Definition: gdal.h:133
@ GRIORA_Average
Definition: gdal.h:135
@ GRIORA_NearestNeighbour
Definition: gdal.h:130
@ GRIORA_Gauss
Definition: gdal.h:138
@ GRIORA_Bilinear
Definition: gdal.h:131
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2696
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1531
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3032
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:460
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2113
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition: gdal_misc.cpp:445
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:456
void GDALCopyWords(const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType, int nDstPixelOffset, int nWordCount)
Copy pixel words from buffer to buffer.
Definition: rasterio.cpp:3098
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:4270
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2305
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2853
CPLErr GDALDatasetAdviseRead(GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition: gdaldataset.cpp:2805
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1607
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2770
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:268
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1703
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1591
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2329
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:568
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1398
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList) CPL_WARN_UNUSED_RESULT
Create a new dataset with this driver.
Definition: gdaldriver.cpp:306
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1226
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2977
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:797
GDALAsyncReaderH GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Sets up an asynchronous data request.
Definition: gdaldataset.cpp:3870
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:972
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT
Copy all dataset raster data.
Definition: rasterio.cpp:4388
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:5792
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:4428
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1091
@ GFT_Real
Definition: gdal.h:1093
@ GFT_String
Definition: gdal.h:1094
@ GFT_Integer
Definition: gdal.h:1092
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6648
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:267
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition: gdal_rat.cpp:2250
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1657
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:130
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:983
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:184
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2900
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2183
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:4183
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:3708
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:6977
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:270
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:722
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition: gdal_misc.cpp:685
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:3922
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6329
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:305
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1146
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1650
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:565
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1396
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:95
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:358
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:1357
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:5358
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1562
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition: gdal_rat.cpp:591
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:4530
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2494
CPLErr GDALDatasetRasterIO(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2569
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1217
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:361
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2024
GDALDataType GDALFindDataType(int nBits, int bSigned, int bFloating, int bComplex)
Finds the smallest data type able to support the given requirements.
Definition: gdal_misc.cpp:233
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1861
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2066
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT
Create a virtual pansharpened dataset.
Definition: vrtpansharpened.cpp:93
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:6685
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3920
CPLErr GDALRATValuesIOAsInteger(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, int *pnData)
Read or Write a block of ints to/from the Attribute Table.
Definition: gdal_rat.cpp:223
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:5836
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1378
void GDALCopyWords64(const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType, int nDstPixelOffset, GPtrDiff_t nWordCount)
Copy pixel words from buffer to buffer.
Definition: rasterio.cpp:3158
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:239
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Build raster overview(s)
Definition: gdaldataset.cpp:1968
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:4159
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition: gdal_rat.cpp:571
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1448
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4560
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:510
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition: gdal_misc.cpp:1191
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1343
GDALDatasetH GDALOpenEx(const char *pszFilename, unsigned int nOpenFlags, const char *const *papszAllowedDrivers, const char *const *papszOpenOptions, const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT
Open a raster or vector file as a GDALDataset.
Definition: gdaldataset.cpp:3206
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1274
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1512
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:2210
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition: gdal_misc.cpp:418
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:971
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition: gdal_misc.cpp:502
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:356
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1849
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1465
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:252
GDALColorInterp
Definition: gdal.h:191
@ GCI_YCbCr_YBand
Definition: gdal.h:206
@ GCI_Undefined
Definition: gdal.h:192
@ GCI_SaturationBand
Definition: gdal.h:200
@ GCI_LightnessBand
Definition: gdal.h:201
@ GCI_HueBand
Definition: gdal.h:199
@ GCI_CyanBand
Definition: gdal.h:202
@ GCI_MagentaBand
Definition: gdal.h:203
@ GCI_GrayIndex
Definition: gdal.h:193
@ GCI_BlueBand
Definition: gdal.h:197
@ GCI_PaletteIndex
Definition: gdal.h:194
@ GCI_RedBand
Definition: gdal.h:195
@ GCI_AlphaBand
Definition: gdal.h:198
@ GCI_Max
Definition: gdal.h:209
@ GCI_YCbCr_CrBand
Definition: gdal.h:208
@ GCI_GreenBand
Definition: gdal.h:196
@ GCI_YellowBand
Definition: gdal.h:204
@ GCI_BlackBand
Definition: gdal.h:205
@ GCI_YCbCr_CbBand
Definition: gdal.h:207
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition: gdaldefaultasync.cpp:233
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2643
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1044
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2319
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2346
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:3761
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1105
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition: gdaldataset.cpp:4476
void * GDALRATSerializeJSON(GDALRasterAttributeTableH) CPL_WARN_UNUSED_RESULT
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:2229
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1312
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT
Copy a whole raster band.
Definition: rasterio.cpp:4715
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:175
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:101
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1758
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:5891
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1955
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1420
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:372
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:475
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2119
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:1184
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:261
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:372
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:729
CPLVirtualMem * GDALDatasetGetVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace, GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:959
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:1052
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1436
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:2664
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2812
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2404
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:3787
GDALRWFlag
Definition: gdal.h:119
@ GF_Write
Definition: gdal.h:121
@ GF_Read
Definition: gdal.h:120
CPLErr GDALRATValuesIOAsDouble(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, double *pdfData)
Read or Write a block of doubles to/from the Attribute Table.
Definition: gdal_rat.cpp:161
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:612
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1234
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1532
CPLVirtualMem * GDALRasterBandGetVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalvirtualmem.cpp:1086
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1975
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:774
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:258
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:1637
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition: gdaldriver.cpp:96
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:264
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:3068
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:2704
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4618
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1275
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition: gdaldataset.cpp:1060
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:115
CPLErr GDALGetRasterHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
Compute raster histogram.
Definition: gdalrasterband.cpp:3352
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1251
@ GTO_BIT
Definition: gdal.h:1255
@ GTO_BSQ
Definition: gdal.h:1257
@ GTO_TIP
Definition: gdal.h:1253
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:447
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:566
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:5432
CPLErr GDALRasterIO(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nPixelSpace, int nLineSpace) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:394
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2362
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:626
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:3382
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes.
void * OGRGeometryH
Opaque type for a geometry.
Definition: ogr_api.h:60
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:74
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:509
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:302
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:304
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:318
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:290
Document node structure.
Definition: cpl_minixml.h:67
Color tuple.
Definition: gdal.h:1060
short c4
Definition: gdal.h:1071
short c2
Definition: gdal.h:1065
short c3
Definition: gdal.h:1068
short c1
Definition: gdal.h:1062
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1028
double dfSAMP_OFF
Definition: gdal.h:1030
double dfMIN_LONG
Definition: gdal.h:1046
double dfLAT_SCALE
Definition: gdal.h:1037
double dfLINE_SCALE
Definition: gdal.h:1035
double dfHEIGHT_OFF
Definition: gdal.h:1033
double dfMAX_LONG
Definition: gdal.h:1048
double dfMIN_LAT
Definition: gdal.h:1047
double dfLINE_OFF
Definition: gdal.h:1029
double dfSAMP_SCALE
Definition: gdal.h:1036
double dfHEIGHT_SCALE
Definition: gdal.h:1039
double dfMAX_LAT
Definition: gdal.h:1049
double dfLAT_OFF
Definition: gdal.h:1031
double dfLONG_SCALE
Definition: gdal.h:1038
double dfLONG_OFF
Definition: gdal.h:1032
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:148
void * pProgressData
Definition: gdal.h:158
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:153
double dfXOff
Definition: gdal.h:166
int nVersion
Definition: gdal.h:150
double dfYSize
Definition: gdal.h:172
double dfYOff
Definition: gdal.h:168
double dfXSize
Definition: gdal.h:170
GDALProgressFunc pfnProgress
Definition: gdal.h:156
int bFloatingPointWindowValidity
Definition: gdal.h:164
Ground Control Point.
Definition: gdal.h:564
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:574
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:577
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:566
char * pszInfo
Informational message or "".
Definition: gdal.h:569
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:572
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:580
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:583

Generated for GDAL by doxygen 1.9.4.