GDAL
|
C++ GDAL entry points. More...
#include "gdal.h"
#include "gdal_frmts.h"
#include "cpl_vsi.h"
#include "cpl_conv.h"
#include "cpl_string.h"
#include "cpl_minixml.h"
#include "cpl_multiproc.h"
#include "cpl_atomic_ops.h"
#include <vector>
#include <map>
#include "ogr_core.h"
Go to the source code of this file.
Classes | |
class | GDALMultiDomainMetadata |
class | GDALMajorObject |
Object with metadata. More... | |
class | GDALDefaultOverviews |
class | GDALOpenInfo |
class | GDALDataset |
A set of associated raster bands, usually from one file. More... | |
class | GDALRasterBlock |
A single raster block in the block cache. More... | |
class | GDALColorTable |
class | GDALAbstractBandBlockCache |
This manages how a raster band store its cached block. More... | |
class | GDALRasterBand |
A single raster band (or channel). More... | |
class | GDALAllValidMaskBand |
class | GDALNoDataMaskBand |
class | GDALNoDataValuesMaskBand |
class | GDALRescaledAlphaBand |
class | GDALDriver |
Format specific driver. More... | |
class | GDALDriverManager |
Class for managing the registration of file format drivers. More... | |
class | GDALAsyncReader |
Class used as a session object for asynchronous requests. More... | |
Typedefs | |
typedef struct GDALSQLParseInfo | GDALSQLParseInfo |
typedef CPLErr(* | GDALResampleFunction) (double dfXRatioDstToSrc, double dfYRatioDstToSrc, double dfSrcXDelta, double dfSrcYDelta, GDALDataType eWrkDataType, void *pChunk, GByte *pabyChunkNodataMask, int nChunkXOff, int nChunkXSize, int nChunkYOff, int nChunkYSize, int nDstXOff, int nDstXOff2, int nDstYOff, int nDstYOff2, GDALRasterBand *poOverview, const char *pszResampling, int bHasNoData, float fNoDataValue, GDALColorTable *poColorTable, GDALDataType eSrcDataType) |
Enumerations | |
enum | GDALIdentifyEnum { GDAL_IDENTIFY_UNKNOWN = -1, GDAL_IDENTIFY_FALSE = 0, GDAL_IDENTIFY_TRUE = 1 } |
Enumeration used by GDALDriver::pfnIdentify(). More... | |
Functions | |
GDALAbstractBandBlockCache * | GDALArrayBandBlockCacheCreate (GDALRasterBand *poBand) |
GDALAbstractBandBlockCache * | GDALHashSetBandBlockCacheCreate (GDALRasterBand *poBand) |
GDALDriverManager * | GetGDALDriverManager (void) |
Fetch the global GDAL driver manager. More... | |
CPLErr | GDALRegenerateOverviewsMultiBand (int nBands, GDALRasterBand **papoSrcBands, int nOverviews, GDALRasterBand ***papapoOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData) |
Variant of GDALRegenerateOverviews, specially dedicated for generating compressed pixel-interleaved overviews (JPEG-IN-TIFF for example) More... | |
GDALResampleFunction | GDALGetResampleFunction (const char *pszResampling, int *pnRadius) |
GDALDataType | GDALGetOvrWorkDataType (const char *pszResampling, GDALDataType eSrcDataType) |
CPLErr | HFAAuxBuildOverviews (const char *pszOvrFilename, GDALDataset *poParentDS, GDALDataset **ppoDS, int nBands, int *panBandList, int nNewOverviews, int *panNewOverviewList, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData) |
CPLErr | GTIFFBuildOverviews (const char *pszFilename, int nBands, GDALRasterBand **papoBandList, int nOverviews, int *panOverviewList, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData) |
CPLErr | GDALDefaultBuildOverviews (GDALDataset *hSrcDS, const char *pszBasename, const char *pszResampling, int nOverviews, int *panOverviewList, int nBands, int *panBandList, GDALProgressFunc pfnProgress, void *pProgressData) |
int | GDALBandGetBestOverviewLevel (GDALRasterBand *poBand, int &nXOff, int &nYOff, int &nXSize, int &nYSize, int nBufXSize, int nBufYSize) CPL_WARN_DEPRECATED("Use GDALBandGetBestOverviewLevel2 instead") |
int | GDALBandGetBestOverviewLevel2 (GDALRasterBand *poBand, int &nXOff, int &nYOff, int &nXSize, int &nYSize, int nBufXSize, int nBufYSize, GDALRasterIOExtraArg *psExtraArg) |
int | GDALOvLevelAdjust (int nOvLevel, int nXSize) CPL_WARN_DEPRECATED("Use GDALOvLevelAdjust2 instead") |
int | GDALOvLevelAdjust2 (int nOvLevel, int nXSize, int nYSize) |
int | GDALComputeOvFactor (int nOvrXSize, int nRasterXSize, int nOvrYSize, int nRasterYSize) |
GDALDataset * | GDALFindAssociatedAuxFile (const char *pszBasefile, GDALAccess eAccess, GDALDataset *poDependentDS) |
CPLErr | GDALParseGMLCoverage (CPLXMLNode *psTree, int *pnXSize, int *pnYSize, double *padfGeoTransform, char **ppszProjection) |
int | GDALCheckDatasetDimensions (int nXSize, int nYSize) |
Return TRUE if the dataset dimensions are valid. More... | |
int | GDALCheckBandCount (int nBands, int bIsZeroAllowed) |
Return TRUE if the band count is valid. More... | |
int | GDALReadWorldFile2 (const char *pszBaseFilename, const char *pszExtension, double *padfGeoTransform, char **papszSiblingFiles, char **ppszWorldFileNameOut) |
int | GDALReadTabFile2 (const char *pszBaseFilename, double *padfGeoTransform, char **ppszWKT, int *pnGCPCount, GDAL_GCP **ppasGCPs, char **papszSiblingFiles, char **ppszTabFileNameOut) |
void | GDALCopyRasterIOExtraArg (GDALRasterIOExtraArg *psDestArg, GDALRasterIOExtraArg *psSrcArg) |
void | GDALNullifyOpenDatasetsList () |
CPLMutex ** | GDALGetphDMMutex () |
CPLMutex ** | GDALGetphDLMutex () |
void | GDALNullifyProxyPoolSingleton () |
GDALDriver * | GDALGetAPIPROXYDriver () |
void | GDALSetResponsiblePIDForCurrentThread (GIntBig responsiblePID) |
GIntBig | GDALGetResponsiblePIDForCurrentThread () |
CPLString | GDALFindAssociatedFile (const char *pszBasename, const char *pszExt, char **papszSiblingFiles, int nFlags) |
Find file with alternate extension. More... | |
CPLErr | EXIFExtractMetadata (char **&papszMetadata, void *fpL, int nOffset, int bSwabflag, int nTIFFHEADER, int &nExifOffset, int &nInterOffset, int &nGPSOffset) |
int | GDALValidateOpenOptions (GDALDriverH hDriver, const char *const *papszOptionOptions) |
int | GDALValidateOptions (const char *pszOptionList, const char *const *papszOptionsToValidate, const char *pszErrorMessageOptionType, const char *pszErrorMessageContainerName) |
GDALRIOResampleAlg | GDALRasterIOGetResampleAlg (const char *pszResampling) |
const char * | GDALRasterIOGetResampleAlg (GDALRIOResampleAlg eResampleAlg) |
void | GDALRasterIOExtraArgSetResampleAlg (GDALRasterIOExtraArg *psExtraArg, int nXSize, int nYSize, int nBufXSize, int nBufYSize) |
GDALDataset * | GDALCreateOverviewDataset (GDALDataset *poDS, int nOvrLevel, int bThisLevelOnly, int bOwnDS) |
void | GDALSerializeGCPListToXML (CPLXMLNode *psParentNode, GDAL_GCP *pasGCPList, int nGCPCount, const char *pszGCPProjection) |
void | GDALDeserializeGCPListFromXML (CPLXMLNode *psGCPList, GDAL_GCP **ppasGCPList, int *pnGCPCount, char **ppszGCPProjection) |
void | GDALSerializeOpenOptionsToXML (CPLXMLNode *psParentNode, char **papszOpenOptions) |
char ** | GDALDeserializeOpenOptionsFromXML (CPLXMLNode *psParentNode) |
int | GDALCanFileAcceptSidecarFile (const char *pszFilename) |
C++ GDAL entry points.
#define ARE_REAL_EQUAL | ( | dfVal1, | |
dfVal2 | |||
) |
enum GDALIdentifyEnum |
Enumeration used by GDALDriver::pfnIdentify().
int GDALCheckBandCount | ( | int | nBands, |
int | bIsZeroAllowed | ||
) |
Return TRUE if the band count is valid.
If the configuration option GDAL_MAX_BAND_COUNT is defined, the band count will be compared to the maximum number of band allowed. If not defined, the maximum number allowed is 65536.
nBands | the band count |
bIsZeroAllowed | TRUE if band count == 0 is allowed |
int GDALCheckDatasetDimensions | ( | int | nXSize, |
int | nYSize | ||
) |
Return TRUE if the dataset dimensions are valid.
nXSize | raster width |
nYSize | raster height |
CPLString GDALFindAssociatedFile | ( | const char * | pszBaseFilename, |
const char * | pszExt, | ||
char ** | papszSiblingFiles, | ||
int | |||
) |
Find file with alternate extension.
Finds the file with the indicated extension, substituting it in place of the extension of the base filename. Generally used to search for associated files like world files .RPB files, etc. If necessary, the extension will be tried in both upper and lower case. If a sibling file list is available it will be used instead of doing VSIStatExL() calls to probe the file system.
Note that the result is a dynamic CPLString so this method should not be used in a situation where there could be cross heap issues. It is generally imprudent for application built on GDAL to use this function unless they are sure they will always use the same runtime heap as GDAL.
pszBaseFilename | the filename relative to which to search. |
pszExt | the target extension in either upper or lower case. |
papszSiblingFiles | the list of files in the same directory as pszBaseFilename or NULL if they are not known. |
nFlags | special options controlling search. None defined yet, just pass 0. |
CPLErr GDALRegenerateOverviewsMultiBand | ( | int | nBands, |
GDALRasterBand ** | papoSrcBands, | ||
int | nOverviews, | ||
GDALRasterBand *** | papapoOverviewBands, | ||
const char * | pszResampling, | ||
GDALProgressFunc | pfnProgress, | ||
void * | pProgressData | ||
) |
Variant of GDALRegenerateOverviews, specially dedicated for generating compressed pixel-interleaved overviews (JPEG-IN-TIFF for example)
This function will generate one or more overview images from a base image using the requested downsampling algorithm. It's primary use is for generating overviews via GDALDataset::BuildOverviews(), but it can also be used to generate downsampled images in one file from another outside the overview architecture.
The output bands need to exist in advance and share the same characteristics (type, dimensions)
The resampling algorithms supported for the moment are "NEAREST", "AVERAGE" and "GAUSS"
The pseudo-algorithm used by the function is : for each overview iterate on lines of the source by a step of deltay iterate on columns of the source by a step of deltax read the source data of size deltax * deltay for all the bands generate the corresponding overview block for all the bands
This function will honour properly NODATA_VALUES tuples (special dataset metadata) so that only a given RGB triplet (in case of a RGB image) will be considered as the nodata value and not each value of the triplet independently per band.
nBands | the number of bands, size of papoSrcBands and size of first dimension of papapoOverviewBands |
papoSrcBands | the list of source bands to downsample |
nOverviews | the number of downsampled overview levels being generated. |
papapoOverviewBands | bidimension array of bands. First dimension is indexed by nBands. Second dimension is indexed by nOverviews. |
pszResampling | Resampling algorithm ("NEAREST", "AVERAGE" or "GAUSS"). |
pfnProgress | progress report function. |
pProgressData | progress function callback data. |
GDALDriverManager* GetGDALDriverManager | ( | void | ) |
Fetch the global GDAL driver manager.
This function fetches the pointer to the singleton global driver manager. If the driver manager doesn't exist it is automatically created.