32 #ifndef GDAL_PRIV_H_INCLUDED
33 #define GDAL_PRIV_H_INCLUDED
55 #include "gdal_frmts.h"
60 #include "cpl_multiproc.h"
65 #define GMO_VALID 0x0001
66 #define GMO_IGNORE_UNIMPLEMENTED 0x0002
67 #define GMO_SUPPORT_MD 0x0004
68 #define GMO_SUPPORT_MDMD 0x0008
69 #define GMO_MD_DIRTY 0x0010
70 #define GMO_PAM_CLASS 0x0020
79 char **papszDomainList;
86 int XMLInit(
CPLXMLNode *psMetadata,
int bMerge );
89 char **GetDomainList() {
return papszDomainList; }
91 char **GetMetadata(
const char * pszDomain =
"" );
92 CPLErr SetMetadata(
char ** papszMetadata,
93 const char * pszDomain =
"" );
94 const char *GetMetadataItem(
const char * pszName,
95 const char * pszDomain =
"" );
96 CPLErr SetMetadataItem(
const char * pszName,
97 const char * pszValue,
98 const char * pszDomain =
"" );
119 char **BuildMetadataDomainList(
char** papszList,
int bCheckNonEmpty, ...) CPL_NULL_TERMINATED;
126 void SetMOFlags(
int nFlagsIn);
128 virtual const char *GetDescription()
const;
129 virtual void SetDescription(
const char * );
131 virtual char **GetMetadataDomainList();
133 virtual char **GetMetadata(
const char * pszDomain =
"" );
134 virtual CPLErr SetMetadata(
char ** papszMetadata,
135 const char * pszDomain =
"" );
136 virtual const char *GetMetadataItem(
const char * pszName,
137 const char * pszDomain =
"" );
138 virtual CPLErr SetMetadataItem(
const char * pszName,
139 const char * pszValue,
140 const char * pszDomain =
"" );
166 bool bCheckedForOverviews;
170 char **papszInitSiblingFiles;
176 void Initialize(
GDALDataset *poDSIn,
const char *pszName = NULL,
177 char **papszSiblingFiles = NULL,
178 int bNameIsOVR = FALSE );
186 int GetOverviewCount(
int);
190 const char * pszResampling,
191 int nOverviews,
int * panOverviewList,
192 int nBands,
int * panBandList,
193 GDALProgressFunc pfnProgress,
194 void *pProgressData );
196 CPLErr BuildOverviewsSubDataset(
const char * pszPhysicalFile,
197 const char * pszResampling,
198 int nOverviews,
int * panOverviewList,
199 int nBands,
int * panBandList,
200 GDALProgressFunc pfnProgress,
201 void *pProgressData );
203 CPLErr CleanOverviews();
209 int GetMaskFlags(
int nBand );
211 int HaveMaskFile(
char **papszSiblings = NULL,
212 const char *pszBasename = NULL );
214 char** GetSiblingFiles() {
return papszInitSiblingFiles; }
225 int bHasGotSiblingFiles;
226 char **papszSiblingFiles;
227 int nHeaderBytesTried;
231 char **papszSiblingFiles = NULL );
235 char** papszOpenOptions;
248 int TryToIngest(
int nBytes);
249 char **GetSiblingFiles();
262 typedef struct GDALSQLParseInfo GDALSQLParseInfo;
264 #ifdef DETECT_OLD_IRASTERIO
265 typedef void signature_changed;
268 #ifdef GDAL_COMPILATION
269 #define OPTIONAL_OUTSIDE_GDAL(val)
271 #define OPTIONAL_OUTSIDE_GDAL(val) = val
279 unsigned int nOpenFlags,
280 const char*
const* papszAllowedDrivers,
281 const char*
const* papszOpenOptions,
282 const char*
const* papszSiblingFiles );
290 void AddToDatasetOpenList();
307 GByte bSuppressOnClose;
313 void RasterInitialize(
int,
int );
318 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
319 int,
int *, GDALProgressFunc,
void * );
321 #ifdef DETECT_OLD_IRASTERIO
322 virtual signature_changed IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
324 int,
int *,
int,
int,
int ) {};
327 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
332 CPLErr BlockBasedRasterIO(
GDALRWFlag,
int,
int,
int,
int,
336 void BlockBasedFlushCache();
338 CPLErr ValidateRasterIOOrAdviseReadParameters(
339 const char* pszCallingFunc,
340 int* pbStopProcessingOnCENone,
341 int nXOff,
int nYOff,
int nXSize,
int nYSize,
342 int nBufXSize,
int nBufYSize,
343 int nBandCount,
int *panBandMap);
345 virtual int CloseDependentDatasets();
347 int ValidateLayerCreationOptions(
const char*
const* papszLCO );
349 char **papszOpenOptions;
354 void LeaveReadWrite();
356 void TemporarilyDropReadWriteLock();
357 void ReacquireReadWriteLock();
362 int GetRasterXSize(
void );
363 int GetRasterYSize(
void );
364 int GetRasterCount(
void );
369 virtual const char *GetProjectionRef(
void);
370 virtual CPLErr SetProjection(
const char * );
372 virtual CPLErr GetGeoTransform(
double * );
373 virtual CPLErr SetGeoTransform(
double * );
376 char **papszOptions=NULL );
378 virtual void *GetInternalHandle(
const char * );
380 virtual char **GetFileList(
void);
382 virtual const char* GetDriverName();
384 virtual int GetGCPCount();
385 virtual const char *GetGCPProjection();
387 virtual CPLErr SetGCPs(
int nGCPCount,
const GDAL_GCP *pasGCPList,
388 const char *pszGCPProjection );
390 virtual CPLErr
AdviseRead(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
391 int nBufXSize,
int nBufYSize,
393 int nBandCount,
int *panBandList,
394 char **papszOptions );
399 BeginAsyncReader(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
400 void *pBuf,
int nBufXSize,
int nBufYSize,
402 int nBandCount,
int* panBandMap,
403 int nPixelSpace,
int nLineSpace,
int nBandSpace,
404 char **papszOptions);
412 OPTIONAL_OUTSIDE_GDAL(NULL)
423 void MarkSuppressOnClose() { bSuppressOnClose = TRUE; }
425 char **GetOpenOptions() {
return papszOpenOptions; }
427 static GDALDataset **GetOpenDatasets(
int *pnDatasetCount );
430 int,
int *, GDALProgressFunc,
void * );
432 void ReportError(CPLErr eErrClass,
int err_no,
const char *fmt, ...) CPL_PRINT_FUNC_FORMAT (4, 5);
435 void *m_hPrivateData;
439 const char *pszDialect,
444 virtual int GetLayerCount();
446 virtual OGRLayer *GetLayerByName(
const char *);
447 virtual OGRErr DeleteLayer(
int);
449 virtual int TestCapability(
const char * );
451 virtual OGRLayer *CreateLayer(
const char *pszName,
454 char ** papszOptions = NULL );
456 const char *pszNewName,
457 char **papszOptions = NULL );
460 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable );
464 virtual OGRLayer * ExecuteSQL(
const char *pszStatement,
466 const char *pszDialect );
467 virtual void ReleaseResultSet(
OGRLayer * poResultsSet );
469 int GetRefCount()
const;
470 int GetSummaryRefCount()
const;
473 virtual OGRErr StartTransaction(
int bForce=FALSE);
474 virtual OGRErr CommitTransaction();
475 virtual OGRErr RollbackTransaction();
477 static int IsGenericSQLDialect(
const char* pszDialect);
480 GDALSQLParseInfo* BuildParseInfo(
swq_select* psSelectInfo,
482 void DestroyParseInfo(GDALSQLParseInfo* psParseInfo );
483 OGRLayer * ExecuteSQL(
const char *pszStatement,
485 const char *pszDialect,
490 virtual OGRLayer *ICreateLayer(
const char *pszName,
493 char ** papszOptions = NULL );
495 OGRErr ProcessSQLCreateIndex(
const char * );
496 OGRErr ProcessSQLDropIndex(
const char * );
497 OGRErr ProcessSQLDropTable(
const char * );
498 OGRErr ProcessSQLAlterTableAddColumn(
const char * );
499 OGRErr ProcessSQLAlterTableDropColumn(
const char * );
500 OGRErr ProcessSQLAlterTableAlterColumn(
const char * );
501 OGRErr ProcessSQLAlterTableRenameColumn(
const char * );
534 void Touch_unlocked(
void );
535 void Detach_unlocked(
void );
541 CPLErr Internalize(
void );
543 void MarkDirty(
void );
544 void MarkClean(
void );
545 void AddLock(
void ) { nLockCount++; }
546 void DropLock(
void ) { nLockCount--; }
552 int GetXOff() {
return nXOff; }
553 int GetYOff() {
return nYOff; }
554 int GetXSize() {
return nXSize; }
555 int GetYSize() {
return nYSize; }
556 int GetDirty() {
return bDirty; }
557 int GetLockCount() {
return nLockCount; }
559 void *GetDataRef(
void ) {
return pData; }
566 static void FlushDirtyBlocks();
567 static int FlushCacheBlock(
int bDirtyBlocksOnly = FALSE);
568 static void Verify();
573 static void DestroyRBMutex();
586 std::vector<GDALColorEntry> aoEntries;
597 int GetColorEntryCount()
const;
614 CPLErr eFlushBlockErr;
616 void SetFlushBlockErr( CPLErr eErr );
619 CPLErr UnreferenceBlock(
int nXBlockOff,
int nYBlockOff );
635 int nBlocksPerColumn;
637 int bSubBlockingActive;
638 int nSubBlocksPerRow;
639 int nSubBlocksPerColumn;
649 void InvalidateMaskBand();
655 CPLErr RasterIOResampled(
GDALRWFlag,
int,
int,
int,
int,
660 void LeaveReadWrite();
663 virtual CPLErr IReadBlock(
int,
int,
void * ) = 0;
664 virtual CPLErr IWriteBlock(
int,
int,
void * );
666 #ifdef DETECT_OLD_IRASTERIO
667 virtual signature_changed IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
672 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
675 CPLErr OverviewRasterIO(
GDALRWFlag,
int,
int,
int,
int,
682 GDALRasterBlock *TryGetLockedBlockRef(
int nXBlockOff,
int nYBlockYOff );
695 void GetBlockSize(
int *,
int * );
698 CPLErr RasterIO(
GDALRWFlag,
int,
int,
int,
int,
702 OPTIONAL_OUTSIDE_GDAL(NULL)
705 CPLErr ReadBlock(
int,
int,
void * );
707 CPLErr WriteBlock(
int,
int,
void * );
710 int bJustInitialize = FALSE );
711 CPLErr FlushBlock(
int = -1,
int = -1,
int bWriteDirtyBlock = TRUE );
713 unsigned char* GetIndexColorTranslationTo(
GDALRasterBand* poReferenceBand,
714 unsigned char* pTranslationTable = NULL,
715 int* pApproximateMatching = NULL);
719 virtual CPLErr FlushCache();
720 virtual char **GetCategoryNames();
721 virtual double GetNoDataValue(
int *pbSuccess = NULL );
722 virtual double GetMinimum(
int *pbSuccess = NULL );
723 virtual double GetMaximum(
int *pbSuccess = NULL );
724 virtual double GetOffset(
int *pbSuccess = NULL );
725 virtual double GetScale(
int *pbSuccess = NULL );
726 virtual const char *GetUnitType();
729 virtual CPLErr Fill(
double dfRealValue,
double dfImaginaryValue = 0);
731 virtual CPLErr SetCategoryNames(
char ** );
732 virtual CPLErr SetNoDataValue(
double );
735 virtual CPLErr SetOffset(
double );
736 virtual CPLErr SetScale(
double );
737 virtual CPLErr SetUnitType(
const char * );
739 virtual CPLErr GetStatistics(
int bApproxOK,
int bForce,
740 double *pdfMin,
double *pdfMax,
741 double *pdfMean,
double *padfStdDev );
742 virtual CPLErr ComputeStatistics(
int bApproxOK,
743 double *pdfMin,
double *pdfMax,
744 double *pdfMean,
double *pdfStdDev,
745 GDALProgressFunc,
void *pProgressData );
746 virtual CPLErr SetStatistics(
double dfMin,
double dfMax,
747 double dfMean,
double dfStdDev );
748 virtual CPLErr ComputeRasterMinMax(
int,
double* );
750 virtual int HasArbitraryOverviews();
751 virtual int GetOverviewCount();
754 virtual CPLErr BuildOverviews(
const char *,
int,
int *,
755 GDALProgressFunc,
void * );
757 virtual CPLErr AdviseRead(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
758 int nBufXSize,
int nBufYSize,
761 virtual CPLErr GetHistogram(
double dfMin,
double dfMax,
762 int nBuckets, GUIntBig * panHistogram,
763 int bIncludeOutOfRange,
int bApproxOK,
764 GDALProgressFunc,
void *pProgressData );
766 virtual CPLErr GetDefaultHistogram(
double *pdfMin,
double *pdfMax,
767 int *pnBuckets, GUIntBig ** ppanHistogram,
769 GDALProgressFunc,
void *pProgressData);
770 virtual CPLErr SetDefaultHistogram(
double dfMin,
double dfMax,
771 int nBuckets, GUIntBig *panHistogram );
777 virtual int GetMaskFlags();
778 virtual CPLErr CreateMaskBand(
int nFlagsIn );
782 GIntBig *pnLineSpace,
783 char **papszOptions );
785 void ReportError(CPLErr eErrClass,
int err_no,
const char *fmt, ...) CPL_PRINT_FUNC_FORMAT (4, 5);
795 virtual CPLErr IReadBlock(
int,
int,
void * );
811 double dfNoDataValue;
815 virtual CPLErr IReadBlock(
int,
int,
void * );
816 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
831 double *padfNodataValues;
834 virtual CPLErr IReadBlock(
int,
int,
void * );
851 virtual CPLErr IReadBlock(
int,
int,
void * );
852 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
884 const char * pszValue,
885 const char * pszDomain =
"" );
891 int nXSize,
int nYSize,
int nBands,
892 GDALDataType eType,
char ** papszOptions ) CPL_WARN_UNUSED_RESULT;
894 CPLErr Delete(
const char * pszName );
895 CPLErr Rename(
const char * pszNewName,
896 const char * pszOldName );
897 CPLErr CopyFiles(
const char * pszNewName,
898 const char * pszOldName );
902 GDALProgressFunc pfnProgress,
903 void * pProgressData ) CPL_WARN_UNUSED_RESULT;
913 int nXSize,
int nYSize,
int nBands,
915 char ** papszOptions );
917 CPLErr (*pfnDelete)(
const char * pszName );
921 GDALProgressFunc pfnProgress,
922 void * pProgressData );
934 CPLErr (*pfnRename)(
const char * pszNewName,
935 const char * pszOldName );
936 CPLErr (*pfnCopyFiles)(
const char * pszNewName,
937 const char * pszOldName );
941 GDALDataset *(*pfnCreateVectorOnly)( GDALDriver*,
942 const char * pszName,
943 char ** papszOptions );
944 CPLErr (*pfnDeleteDataSource)( GDALDriver*,
945 const char * pszName );
950 GDALDataset *DefaultCreateCopy(
const char *, GDALDataset *,
952 GDALProgressFunc pfnProgress,
953 void * pProgressData ) CPL_WARN_UNUSED_RESULT;
954 static CPLErr DefaultCopyMasks( GDALDataset *poSrcDS,
955 GDALDataset *poDstDS,
957 static CPLErr QuietDelete(
const char * pszName );
959 CPLErr DefaultRename(
const char * pszNewName,
960 const char * pszOldName );
961 CPLErr DefaultCopyFiles(
const char * pszNewName,
962 const char * pszOldName );
980 std::map<CPLString, GDALDriver*> oMapNameToDrivers;
983 {
return (iDriver >= 0 && iDriver < nDrivers) ? papoDrivers[iDriver] : NULL; }
985 GDALDriver *GetDriverByName_unlocked(
const char * pszName )
992 int GetDriverCount(
void );
999 void AutoLoadDrivers();
1000 void AutoSkipDrivers();
1039 int GetXOffset() {
return nXOff;}
1040 int GetYOffset() {
return nYOff;}
1041 int GetXSize() {
return nXSize;}
1042 int GetYSize() {
return nYSize;}
1043 void * GetBuffer() {
return pBuf;}
1044 int GetBufferXSize() {
return nBufXSize;}
1045 int GetBufferYSize() {
return nBufYSize;}
1047 int GetBandCount() {
return nBandCount;}
1048 int* GetBandMap() {
return panBandMap;}
1049 int GetPixelSpace() {
return nPixelSpace;}
1050 int GetLineSpace() {
return nLineSpace;}
1051 int GetBandSpace() {
return nBandSpace;}
1054 GetNextUpdatedRegion(
double dfTimeout,
1055 int* pnBufXOff,
int* pnBufYOff,
1056 int* pnBufXSize,
int* pnBufYSize) = 0;
1057 virtual int LockBuffer(
double dfTimeout = -1.0 );
1058 virtual void UnlockBuffer();
1067 GDALRegenerateOverviewsMultiBand(
int nBands,
GDALRasterBand** papoSrcBands,
1070 const char * pszResampling,
1071 GDALProgressFunc pfnProgress,
void * pProgressData );
1073 typedef CPLErr (*GDALResampleFunction)
1074 (
double dfXRatioDstToSrc,
1075 double dfYRatioDstToSrc,
1080 GByte * pabyChunkNodataMask,
1081 int nChunkXOff,
int nChunkXSize,
1082 int nChunkYOff,
int nChunkYSize,
1083 int nDstXOff,
int nDstXOff2,
1084 int nDstYOff,
int nDstYOff2,
1086 const char * pszResampling,
1087 int bHasNoData,
float fNoDataValue,
1091 GDALResampleFunction GDALGetResampleFunction(
const char* pszResampling,
1093 GDALDataType GDALGetOvrWorkDataType(
const char* pszResampling,
1101 HFAAuxBuildOverviews(
const char *pszOvrFilename,
GDALDataset *poParentDS,
1103 int nBands,
int *panBandList,
1104 int nNewOverviews,
int *panNewOverviewList,
1105 const char *pszResampling,
1106 GDALProgressFunc pfnProgress,
1107 void *pProgressData );
1112 GTIFFBuildOverviews(
const char * pszFilename,
1114 int nOverviews,
int * panOverviewList,
1115 const char * pszResampling,
1116 GDALProgressFunc pfnProgress,
void * pProgressData );
1119 GDALDefaultBuildOverviews(
GDALDataset *hSrcDS,
const char * pszBasename,
1120 const char * pszResampling,
1121 int nOverviews,
int * panOverviewList,
1122 int nBands,
int * panBandList,
1123 GDALProgressFunc pfnProgress,
void * pProgressData);
1126 int &nXOff,
int &nYOff,
1127 int &nXSize,
int &nYSize,
1128 int nBufXSize,
int nBufYSize) CPL_WARN_DEPRECATED(
"Use GDALBandGetBestOverviewLevel2 instead");
1129 int CPL_DLL GDALBandGetBestOverviewLevel2(
GDALRasterBand* poBand,
1130 int &nXOff,
int &nYOff,
1131 int &nXSize,
int &nYSize,
1132 int nBufXSize,
int nBufYSize,
1135 int CPL_DLL GDALOvLevelAdjust(
int nOvLevel,
int nXSize ) CPL_WARN_DEPRECATED(
"Use GDALOvLevelAdjust2 instead");
1136 int CPL_DLL GDALOvLevelAdjust2(
int nOvLevel,
int nXSize,
int nYSize );
1137 int CPL_DLL GDALComputeOvFactor(
int nOvrXSize,
int nRasterXSize,
1138 int nOvrYSize,
int nRasterYSize );
1141 GDALFindAssociatedAuxFile(
const char *pszBasefile,
GDALAccess eAccess,
1148 CPLErr CPL_DLL GDALParseGMLCoverage(
CPLXMLNode *psTree,
1149 int *pnXSize,
int *pnYSize,
1150 double *padfGeoTransform,
1151 char **ppszProjection );
1157 int CPL_DLL GDALCheckDatasetDimensions(
int nXSize,
int nYSize );
1158 int CPL_DLL GDALCheckBandCount(
int nBands,
int bIsZeroAllowed );
1163 #define ARE_REAL_EQUAL(dfVal1, dfVal2) \
1164 (dfVal1 == dfVal2 || fabs(dfVal1 - dfVal2) < 1e-10 || (dfVal2 != 0 && fabs(1 - dfVal1 / dfVal2) < 1e-10 ))
1169 int CPL_DLL GDALReadWorldFile2(
const char *pszBaseFilename,
const char *pszExtension,
1170 double *padfGeoTransform,
char** papszSiblingFiles,
1171 char** ppszWorldFileNameOut);
1172 int GDALReadTabFile2(
const char * pszBaseFilename,
1173 double *padfGeoTransform,
char **ppszWKT,
1174 int *pnGCPCount,
GDAL_GCP **ppasGCPs,
1175 char** papszSiblingFiles,
char** ppszTabFileNameOut );
1182 void GDALNullifyOpenDatasetsList();
1183 CPLMutex** GDALGetphDMMutex();
1184 CPLMutex** GDALGetphDLMutex();
1185 void GDALNullifyProxyPoolSingleton();
1187 void GDALSetResponsiblePIDForCurrentThread(GIntBig responsiblePID);
1188 GIntBig GDALGetResponsiblePIDForCurrentThread();
1190 CPLString GDALFindAssociatedFile(
const char *pszBasename,
const char *pszExt,
1191 char **papszSiblingFiles,
int nFlags );
1193 CPLErr EXIFExtractMetadata(
char**& papszMetadata,
1194 void *fpL,
int nOffset,
1195 int bSwabflag,
int nTIFFHEADER,
1196 int& nExifOffset,
int& nInterOffset,
int& nGPSOffset);
1199 const char*
const* papszOptionOptions);
1200 int GDALValidateOptions(
const char* pszOptionList,
1201 const char*
const* papszOptionsToValidate,
1202 const char* pszErrorMessageOptionType,
1203 const char* pszErrorMessageContainerName);
1208 int nXSize,
int nYSize,
1209 int nBufXSize,
int nBufYSize);
1213 int bThisLevelOnly,
int bOwnDS);
1215 #define DIV_ROUND_UP(a, b) ( ((a) % (b)) == 0 ? ((a) / (b)) : (((a) / (b)) + 1) )
1219 #define GDALSTAT_APPROX_NUMSAMPLES 2500
1224 void GDALSerializeGCPListToXML(
CPLXMLNode* psParentNode,
1227 const char* pszGCPProjection );
1228 void GDALDeserializeGCPListFromXML(
CPLXMLNode* psGCPList,
1231 char** ppszGCPProjection );
1234 void GDALSerializeOpenOptionsToXML(
CPLXMLNode* psParentNode,
char** papszOpenOptions);
1235 char** GDALDeserializeOpenOptionsFromXML(
CPLXMLNode* psParentNode );
1237 int GDALCanFileAcceptSidecarFile(
const char* pszFilename);
The GDALRasterAttributeTable (or RAT) class is used to encapsulate a table used to provide attribute ...
Definition: gdal_rat.h:46
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:2454
virtual CPLErr AdviseRead(int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eDT, char **papszOptions)
Advise driver of upcoming read requests.
Definition: gdalrasterband.cpp:3590
GDALDataType
Definition: gdal.h:57
Definition: gdal_priv.h:829
Document node structure.
Definition: cpl_minixml.h:65
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4819
Definitions for CPL mini XML Parser/Serializer.
Definition: gdal_proxy.h:100
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:217
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:110
GDALRWFlag
Definition: gdal.h:101
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:227
Definition: gdal_priv.h:809
Color tuple.
Definition: gdal.h:871
A single raster block in the block cache.
Definition: gdal_priv.h:512
virtual int GetMaskFlags()
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:5019
Convenient string class based on std::string.
Definition: cpl_string.h:236
virtual CPLErr BuildOverviews(const char *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdalrasterband.cpp:2372
unknown type, non-standard
Definition: ogr_core.h:311
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:60
CPLErr BuildOverviews(const char *, int, int *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdaldataset.cpp:1402
Various convenience functions for working with strings and string lists.
Definition: gdal_priv.h:146
virtual CPLErr FlushCache()
Flush raster data cache.
Definition: gdalrasterband.cpp:913
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:245
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:309
Public (C callable) GDAL entry points.
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:82
CPLErr RasterIO(GDALRWFlag, int, int, int, int, void *, int, int, GDALDataType, GSpacing, GSpacing, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:176
Definition: gdal_proxy.h:44
Abstract base class for all geometry classes.
Definition: ogr_geometry.h:104
GDALRasterBand * GetBand()
Accessor to source GDALRasterBand object.
Definition: gdal_priv.h:564
Definition: gdal_priv.h:223
Definition: gdal_priv.h:792
String list class designed around our use of C "char**" string lists.
Definition: cpl_string.h:310
GDALPaletteInterp
Definition: gdal.h:196
Core portability services for cross-platform OGR code.
virtual int CloseDependentDatasets()
Drop references to any other datasets referenced by this dataset.
Definition: gdaldataset.cpp:3078
virtual CPLErr CreateMaskBand(int nFlagsIn)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2269
Various convenience functions for CPL.
void ReportError(CPLErr eErrClass, int err_no, const char *fmt,...) CPL_PRINT_FUNC_FORMAT(4
Emits an error related to a raster band.
Definition: gdalrasterband.cpp:5309
This class respresents a OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition: ogr_spatialref.h:129
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:233
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:2771
Object with metadata.
Definition: gdal_priv.h:112
This class represents a layer of simple features, with access methods.
Definition: ogrsf_frmts.h:66
A single raster band (or channel).
Definition: gdal_priv.h:611
GDALAccess
Definition: gdal.h:95
Definition: gdal_priv.h:76
virtual CPLErr CreateMaskBand(int nFlagsIn)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:5092
This class represents a style table.
Definition: ogr_featurestyle.h:81
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:276
GDALAccess GetAccess()
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1545
Class for managing the registration of file format drivers.
Definition: gdal_priv.h:976
Definition: gdal_priv.h:845
CPLString & toupper(void)
Convert to upper case in place.
Definition: cplstring.cpp:297
GDALColorInterp
Definition: gdal.h:170
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition: gdalmajorobject.cpp:374
Format specific driver.
Definition: gdal_priv.h:877
Definition: gdal_priv.h:582
Ground Control Point.
Definition: gdal.h:442
Class used as a session object for asynchronous requests.
Definition: gdal_priv.h:1016