31 #ifndef GDAL_H_INCLUDED 32 #define GDAL_H_INCLUDED 41 #include "gdal_version.h" 44 #include "cpl_progress.h" 55 typedef enum {
GDT_Unknown = 0,
GDT_Byte = 1,
GDT_UInt16 = 2,
GDT_Int16 = 3,
GDT_UInt32 = 4,
GDT_Int32 = 5,
GDT_Float32 = 6,
GDT_Float64 = 7,
GDT_CInt16 = 8,
GDT_CInt32 = 9,
GDT_CFloat32 = 10,
GDT_CFloat64 = 11,
107 GCI_Undefined=0,
GCI_GrayIndex=1,
GCI_PaletteIndex=2,
GCI_RedBand=3,
GCI_GreenBand=4,
GCI_BlueBand=5,
GCI_AlphaBand=6,
GCI_HueBand=7,
GCI_SaturationBand=8,
GCI_LightnessBand=9,
GCI_CyanBand=10,
GCI_MagentaBand=11,
GCI_YellowBand=12,
GCI_BlackBand=13,
GCI_YCbCr_YBand=14,
GCI_YCbCr_CbBand=15,
GCI_YCbCr_CrBand=16,
GCI_Max=16
143 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT" 144 # define GDALMD_AOP_AREA "Area" 145 # define GDALMD_AOP_POINT "Point" 152 #define CPLE_WrongFormat 200 172 typedef void *GDALProjDefH;
194 char *pszDescription;
196 } GDALOptionDefinition;
199 #define GDAL_DMD_LONGNAME "DMD_LONGNAME" 200 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC" 201 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE" 202 #define GDAL_DMD_EXTENSION "DMD_EXTENSION" 203 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST" 204 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES" 205 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS" 207 #define GDAL_DCAP_CREATE "DCAP_CREATE" 208 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY" 209 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO" 215 char ** ) CPL_WARN_UNUSED_RESULT;
218 int,
char **, GDALProgressFunc,
void * ) CPL_WARN_UNUSED_RESULT;
221 char ** papszFileList );
236 const char * pszNewName,
237 const char * pszOldName );
239 const char * pszNewName,
240 const char * pszOldName);
242 char** papszCreationOptions);
278 void CPL_DLL CPL_STDCALL GDALInitGCPs(
int,
GDAL_GCP * );
279 void CPL_DLL CPL_STDCALL GDALDeinitGCPs(
int,
GDAL_GCP * );
282 int CPL_DLL CPL_STDCALL
284 double *padfGeoTransform,
int bApproxOK ) CPL_WARN_UNUSED_RESULT;
285 int CPL_DLL CPL_STDCALL
287 double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
289 double *,
double * );
291 const double *padfGeoTransform2,
292 double *padfGeoTransformOut);
302 const char CPL_DLL * CPL_STDCALL
304 CPLErr CPL_DLL CPL_STDCALL
323 char **papszOptions );
326 GDALBeginAsyncReader(
GDALDatasetH hDS,
int nXOff,
int nYOff,
327 int nXSize,
int nYSize,
328 void *pBuf,
int nBufXSize,
int nBufYSize,
330 int nPixelSpace,
int nLineSpace,
int nBandSpace,
331 char **papszOptions);
333 void CPL_DLL CPL_STDCALL
338 int nDSXOff,
int nDSYOff,
int nDSXSize,
int nDSYSize,
339 void * pBuffer,
int nBXSize,
int nBYSize,
GDALDataType eBDataType,
340 int nBandCount,
int *panBandCount,
341 int nPixelSpace,
int nLineSpace,
int nBandSpace);
344 int nDSXOff,
int nDSYOff,
int nDSXSize,
int nDSYSize,
346 int nBandCount,
int *panBandCount,
char **papszOptions );
351 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform(
GDALDatasetH,
double * );
363 CPLErr CPL_DLL CPL_STDCALL
365 int,
int *, GDALProgressFunc,
void * );
370 CPLErr CPL_DLL CPL_STDCALL
375 GDALProgressFunc pfnProgress,
void *pProgressData );
379 GDALProgressFunc pfnProgress,
void *pProgressData );
384 const char *pszResampling,
385 GDALProgressFunc pfnProgress,
void *pProgressData );
395 #define SRCVAL(papoSource, eSrcType, ii) \ 396 (eSrcType == GDT_Byte ? \ 397 ((GByte *)papoSource)[ii] : \ 398 (eSrcType == GDT_Float32 ? \ 399 ((float *)papoSource)[ii] : \ 400 (eSrcType == GDT_Float64 ? \ 401 ((double *)papoSource)[ii] : \ 402 (eSrcType == GDT_Int32 ? \ 403 ((GInt32 *)papoSource)[ii] : \ 404 (eSrcType == GDT_UInt16 ? \ 405 ((GUInt16 *)papoSource)[ii] : \ 406 (eSrcType == GDT_Int16 ? \ 407 ((GInt16 *)papoSource)[ii] : \ 408 (eSrcType == GDT_UInt32 ? \ 409 ((GUInt32 *)papoSource)[ii] : \ 410 (eSrcType == GDT_CInt16 ? \ 411 ((GInt16 *)papoSource)[ii * 2] : \ 412 (eSrcType == GDT_CInt32 ? \ 413 ((GInt32 *)papoSource)[ii * 2] : \ 414 (eSrcType == GDT_CFloat32 ? \ 415 ((float *)papoSource)[ii * 2] : \ 416 (eSrcType == GDT_CFloat64 ? \ 417 ((double *)papoSource)[ii * 2] : 0))))))))))) 420 (*GDALDerivedPixelFunc)(
void **papoSources,
int nSources,
void *pData,
421 int nBufXSize,
int nBufYSize,
423 int nPixelSpace,
int nLineSpace);
426 void CPL_DLL CPL_STDCALL
430 int nDSXOff,
int nDSYOff,
int nDSXSize,
int nDSYSize,
431 int nBXSize,
int nBYSize,
GDALDataType eBDataType,
char **papszOptions );
433 CPLErr CPL_DLL CPL_STDCALL
435 int nDSXOff,
int nDSYOff,
int nDSXSize,
int nDSYSize,
436 void * pBuffer,
int nBXSize,
int nBYSize,
GDALDataType eBDataType,
437 int nPixelSpace,
int nLineSpace );
448 CPLErr CPL_DLL CPL_STDCALL
463 double *pdfMin,
double *pdfMax,
double *pdfMean,
double *pdfStdDev );
466 double *pdfMin,
double *pdfMax,
double *pdfMean,
double *pdfStdDev,
467 GDALProgressFunc pfnProgress,
void *pProgressData );
470 double dfMin,
double dfMax,
double dfMean,
double dfStdDev );
478 void CPL_DLL CPL_STDCALL
480 double adfMinMax[2] );
483 double dfMin,
double dfMax,
484 int nBuckets,
int *panHistogram,
485 int bIncludeOutOfRange,
int bApproxOK,
486 GDALProgressFunc pfnProgress,
487 void * pProgressData );
489 double *pdfMin,
double *pdfMax,
490 int *pnBuckets,
int **ppanHistogram,
492 GDALProgressFunc pfnProgress,
493 void * pProgressData );
495 double dfMin,
double dfMax,
496 int nBuckets,
int *panHistogram );
497 int CPL_DLL CPL_STDCALL
502 double dfRealValue,
double dfImaginaryValue );
503 CPLErr CPL_DLL CPL_STDCALL
505 double *pdfMean,
double *pdfStdDev,
506 GDALProgressFunc pfnProgress,
507 void *pProgressData );
508 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection(
GDALRasterBandH hBaseBand,
511 GDALProgressFunc pfnProgress,
512 void *pProgressData );
519 GDALDerivedPixelFunc pfnPixelFunc );
523 CPLErr CPL_DLL CPL_STDCALL
526 #define GMF_ALL_VALID 0x01 527 #define GMF_PER_DATASET 0x02 528 #define GMF_ALPHA 0x04 529 #define GMF_NODATA 0x08 537 int* pnXBufOff,
int* pnYBufOff,
538 int* pnXBufSize,
int* pnYBufSize );
548 void CPL_DLL CPL_STDCALL
GDALSwapWords(
void *pData,
int nWordSize,
int nWordCount,
550 void CPL_DLL CPL_STDCALL
552 void * pDstData,
GDALDataType eDstType,
int nDstPixelOffset,
556 GDALCopyBits(
const GByte *pabySrcData,
int nSrcOffset,
int nSrcStep,
557 GByte *pabyDstData,
int nDstOffset,
int nDstStep,
558 int nBitCount,
int nStepCount );
565 int CPL_DLL CPL_STDCALL GDALLoadTabFile(
const char *,
double *,
char **,
567 int CPL_DLL CPL_STDCALL GDALReadTabFile(
const char *,
double *,
char **,
569 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile(
const char *,
double *,
char **,
571 int CPL_DLL CPL_STDCALL GDALReadOziMapFile(
const char * ,
double *,
573 char CPL_DLL ** CPL_STDCALL GDALLoadRPBFile(
const char *pszFilename,
574 char **papszSiblingFiles );
575 char CPL_DLL ** CPL_STDCALL GDALLoadRPCFile(
const char *pszFilename,
576 char **papszSiblingFiles );
577 CPLErr CPL_DLL CPL_STDCALL GDALWriteRPBFile(
const char *pszFilename,
579 char CPL_DLL ** CPL_STDCALL GDALLoadIMDFile(
const char *pszFilename,
580 char **papszSiblingFiles );
581 CPLErr CPL_DLL CPL_STDCALL GDALWriteIMDFile(
const char *pszFilename,
584 const char CPL_DLL * CPL_STDCALL GDALDecToDMS(
double,
const char *,
int );
590 #ifndef GDAL_VERSION_INFO_DEFINED 591 #define GDAL_VERSION_INFO_DEFINED 595 #ifndef GDAL_CHECK_VERSION 597 int CPL_DLL CPL_STDCALL
GDALCheckVersion(
int nVersionMajor,
int nVersionMinor,
598 const char* pszCallingComponentName);
603 #define GDAL_CHECK_VERSION(pszCallingComponentName) \ 604 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName) 619 double dfHEIGHT_SCALE;
621 double adfLINE_NUM_COEFF[20];
622 double adfLINE_DEN_COEFF[20];
623 double adfSAMP_NUM_COEFF[20];
624 double adfSAMP_DEN_COEFF[20];
633 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo(
char **,
GDALRPCInfo * );
679 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 736 int iField,
int iStartRow,
int iLength,
double *pdfData );
738 int iField,
int iStartRow,
int iLength,
int *pnData);
740 int iField,
int iStartRow,
int iLength,
char **papszStrList);
751 double *,
double * );
783 int nXOff,
int nYOff,
784 int nXSize,
int nYSize,
785 int nBufXSize,
int nBufYSize,
787 int nBandCount,
int* panBandMap,
792 size_t nPageSizeHint,
793 int bSingleThreadUsage,
794 char **papszOptions );
798 int nXOff,
int nYOff,
799 int nXSize,
int nYSize,
800 int nBufXSize,
int nBufYSize,
805 size_t nPageSizeHint,
806 int bSingleThreadUsage,
807 char **papszOptions );
812 GIntBig *pnLineSpace,
813 char **papszOptions );
827 int nXOff,
int nYOff,
828 int nXSize,
int nYSize,
829 int nTileXSize,
int nTileYSize,
831 int nBandCount,
int* panBandMap,
834 int bSingleThreadUsage,
835 char **papszOptions );
839 int nXOff,
int nYOff,
840 int nXSize,
int nYSize,
841 int nTileXSize,
int nTileYSize,
844 int bSingleThreadUsage,
845 char **papszOptions );
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1372
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1164
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3423
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, char **papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:491
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:810
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpreation by symbolic name.
Definition: gdal_misc.cpp:577
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition: rasterio.cpp:2846
GDALDataType
Definition: gdal.h:55
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:3835
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2044
char * pszInfo
Informational message or "".
Definition: gdal.h:261
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:264
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:1874
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:74
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2198
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:370
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2303
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdaldataset.cpp:1401
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:183
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition: gdalcolortable.cpp:280
Core portability definitions for CPL.
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition: gdalcolortable.cpp:134
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:182
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1032
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition: gdal_rat.cpp:944
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:846
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:315
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:74
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:1924
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2493
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:386
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1311
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4310
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:672
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:1203
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:509
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:765
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:104
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2408
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition: gdalcolortable.cpp:63
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2402
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, char **papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1423
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:1833
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1315
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2004
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:4353
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:4270
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1868
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:558
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:216
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:1781
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1227
GDALRWFlag
Definition: gdal.h:99
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, char **papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalvirtualmem.cpp:997
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2279
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:162
Color tuple.
Definition: gdal.h:640
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:828
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1258
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1465
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:259
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1173
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:165
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1457
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:459
GDALRasterAttributeTableH GDALRATClone(GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:1814
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:733
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:359
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:960
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:719
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:91
Virtual memory management.
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4594
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:425
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset. ...
Definition: gdal_rat.cpp:1629
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1096
short c1
Definition: gdal.h:643
CPLErr GDALSetMetadata(GDALMajorObjectH, char **, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:305
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:165
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:62
short c3
Definition: gdal.h:649
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:60
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:2823
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:453
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:394
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:1859
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1824
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:422
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:1724
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, char **papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition: gdal_rat.cpp:255
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:272
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all raster band raster data.
Definition: rasterio.cpp:3093
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:484
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:454
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:683
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1247
short c2
Definition: gdal.h:646
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1411
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:213
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:1893
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:293
GDALDriverH GDALIdentifyDriver(const char *pszFilename, char **papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1506
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:329
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:4753
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1192
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:335
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:1548
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:942
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:80
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1554
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:294
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:89
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:985
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1115
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:393
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1402
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:179
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:244
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:631
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:354
CPL error handling services.
CPLErr GDALDatasetAdviseRead(GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, char **papszOptions)
Advise driver of upcoming read requests.
Definition: gdaldataset.cpp:1998
int GDALValidateCreationOptions(GDALDriverH, char **papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1267
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2191
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2251
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1602
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:5064
GDALPaletteInterp
Definition: gdal.h:131
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, char **papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:873
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1782
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1505
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1063
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1171
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:867
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1151
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1210
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:4672
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:546
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:1910
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2444
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:875
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, char **papszOptions)
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1534
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, char **) CPL_WARN_UNUSED_RESULT
Create a new dataset with this driver.
Definition: gdaldriver.cpp:247
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:1960
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:168
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:592
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:499
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:129
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:2482
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1035
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:159
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:997
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1599
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:586
CPLErr GDALRasterAdviseRead(GDALRasterBandH hRB, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions)
Advise driver of upcoming read requests.
Definition: gdalrasterband.cpp:3299
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:1654
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:258
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:553
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:3110
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1374
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:132
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:441
GDALTileOrganization
Definition: gdal.h:815
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1496
GDALAccess
Definition: gdal.h:93
short c4
Definition: gdal.h:652
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2087
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2609
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:94
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1694
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:679
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1532
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:348
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:992
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:176
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:269
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2567
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:137
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:274
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:82
GDALColorInterp
Definition: gdal.h:105
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2356
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:728
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2156
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:266
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:2583
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2257
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:2849
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:252
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:2079
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:653
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:4400
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2126
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:195
void GDALCopyWords(void *pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *pDstData, GDALDataType eDstType, int nDstPixelOffset, int nWordCount)
Copy pixel words from buffer to buffer.
Definition: rasterio.cpp:1228
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:899
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:275
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:1890
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:3909
Ground Control Point.
Definition: gdal.h:255
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:353
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:3219
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:232
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2650
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2530
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1074
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1128
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:202
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:260