31 #ifndef VIRTUALDATASET_H_INCLUDED
32 #define VIRTUALDATASET_H_INCLUDED
34 #include "gdal_priv.h"
43 int VRTWarpedOverviewTransform(
void *pTransformArg,
int bDstToSrc,
45 double *padfX,
double *padfY,
double *padfZ,
47 void* VRTDeserializeWarpedOverviewTransformer(
CPLXMLNode *psTree );
82 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
83 void *pData,
int nBufXSize,
int nBufYSize,
88 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess ) = 0;
89 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess ) = 0;
90 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax ) = 0;
91 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
93 double *pdfMin,
double *pdfMax,
94 double *pdfMean,
double *pdfStdDev,
95 GDALProgressFunc pfnProgress,
void *pProgressData ) = 0;
96 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
97 double dfMin,
double dfMax,
98 int nBuckets, GUIntBig * panHistogram,
99 int bIncludeOutOfRange,
int bApproxOK,
100 GDALProgressFunc pfnProgress,
void *pProgressData ) = 0;
102 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * ) = 0;
103 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath ) = 0;
105 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
106 int *pnMaxSize, CPLHashSet* hSetFiles);
108 virtual int IsSimpleSource() {
return FALSE; }
128 int bGeoTransformSet;
129 double adfGeoTransform[6];
133 char *pszGCPProjection;
142 int bCompatibleForDatasetIO;
143 int CheckCompatibleForDatasetIO();
152 void SetNeedsFlush() { bNeedsFlush = TRUE; }
155 void SetWritable(
int bWritable) { this->bWritable = bWritable; }
165 virtual CPLErr
SetMetadata(
char **papszMD,
const char *pszDomain =
"" );
166 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
167 const char *pszDomain =
"" );
173 const char *pszGCPProjection );
176 char **papszOptions=NULL );
181 int nXOff,
int nYOff,
int nXSize,
int nYSize,
182 void * pData,
int nBufXSize,
int nBufYSize,
184 int nBandCount,
int *panBandMap,
189 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath);
190 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
195 void UnsetPreservedRelativeFilenames();
201 int nXSize,
int nYSize,
int nBands,
203 static CPLErr Delete(
const char * pszFilename );
223 void CreateImplicitOverviews();
234 CPLErr Initialize(
void * );
236 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
237 int,
int *, GDALProgressFunc,
void * );
239 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
240 const char *pszDomain =
"" );
242 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
243 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
246 char **papszOptions=NULL );
250 CPLErr ProcessBlock(
int iBlockX,
int iBlockY );
268 int bHideNoDataValue;
269 double dfNoDataValue;
276 char **papszCategoryNames;
283 void Initialize(
int nXSize,
int nYSize );
285 std::vector<VRTOverviewInfo> apoOverviews;
294 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
295 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
312 virtual CPLErr
SetMetadata(
char **papszMD,
const char *pszDomain =
"" );
313 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
314 const char *pszDomain =
"" );
316 virtual double GetOffset(
int *pbSuccess = NULL );
318 virtual double GetScale(
int *pbSuccess = NULL );
324 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
325 int nBuckets, GUIntBig * panHistogram,
326 int bIncludeOutOfRange,
int bApproxOK,
327 GDALProgressFunc,
void *pProgressData );
330 int *pnBuckets, GUIntBig ** ppanHistogram,
332 GDALProgressFunc,
void *pProgressData);
335 int nBuckets, GUIntBig *panHistogram );
339 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
340 int *pnMaxSize, CPLHashSet* hSetFiles);
351 void SetIsMaskBand();
353 CPLErr UnsetNoDataValue();
355 virtual int CloseDependentDatasets();
357 virtual int IsSourcedRasterBand() {
return FALSE; }
369 int nRecursionCounter;
371 char **papszSourceList;
373 void Initialize(
int nXSize,
int nYSize );
375 int CanUseSourcesMinMaxImplementations();
384 int nXSize,
int nYSize );
387 int nXSize,
int nYSize );
390 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
397 const char * pszDomain =
"" );
398 virtual char **
GetMetadata(
const char * pszDomain =
"" );
400 const char * pszDomain =
"" );
402 const char * pszValue,
403 const char * pszDomain =
"" );
405 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
406 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
408 virtual double GetMinimum(
int *pbSuccess = NULL );
409 virtual double GetMaximum(
int *pbSuccess = NULL );
412 double *pdfMin,
double *pdfMax,
413 double *pdfMean,
double *pdfStdDev,
414 GDALProgressFunc pfnProgress,
void *pProgressData );
415 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
416 int nBuckets, GUIntBig * panHistogram,
417 int bIncludeOutOfRange,
int bApproxOK,
418 GDALProgressFunc pfnProgress,
void *pProgressData );
422 int nSrcXOff=-1,
int nSrcYOff=-1,
423 int nSrcXSize=-1,
int nSrcYSize=-1,
424 int nDstXOff=-1,
int nDstYOff=-1,
425 int nDstXSize=-1,
int nDstYSize=-1,
426 const char *pszResampling =
"near",
427 double dfNoDataValue = VRT_NODATA_UNSET);
429 int nSrcXOff=-1,
int nSrcYOff=-1,
430 int nSrcXSize=-1,
int nSrcYSize=-1,
431 int nDstXOff=-1,
int nDstYOff=-1,
432 int nDstXSize=-1,
int nDstYSize=-1,
433 double dfScaleOff=0.0,
434 double dfScaleRatio=1.0,
435 double dfNoDataValue = VRT_NODATA_UNSET,
436 int nColorTableComponent = 0);
439 int nSrcXOff=-1,
int nSrcYOff=-1,
440 int nSrcXSize=-1,
int nSrcYSize=-1,
441 int nDstXOff=-1,
int nDstYOff=-1,
442 int nDstXSize=-1,
int nDstYSize=-1 );
444 CPLErr AddFuncSource( VRTImageReadFunc pfnReadFunc,
void *hCBData,
445 double dfNoDataValue = VRT_NODATA_UNSET );
450 int nSrcXOff,
int nSrcYOff,
451 int nSrcXSize,
int nSrcYSize,
452 int nDstXOff,
int nDstYOff,
453 int nDstXSize,
int nDstYSize);
455 virtual CPLErr IReadBlock(
int,
int,
void * );
457 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
458 int *pnMaxSize, CPLHashSet* hSetFiles);
460 virtual int CloseDependentDatasets();
462 virtual int IsSourcedRasterBand() {
return TRUE; }
476 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
477 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
479 virtual CPLErr IReadBlock(
int,
int,
void * );
480 virtual CPLErr IWriteBlock(
int,
int,
void * );
502 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
507 static CPLErr AddPixelFunction
508 (
const char *pszFuncName, GDALDerivedPixelFunc pfnPixelFunc);
509 static GDALDerivedPixelFunc GetPixelFunction(
const char *pszFuncName);
511 void SetPixelFunctionName(
const char *pszFuncName);
514 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
515 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
527 RawRasterBand *poRawRaster;
529 char *pszSourceFilename;
537 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
538 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
540 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
545 virtual CPLErr IReadBlock(
int,
int,
void * );
546 virtual CPLErr IWriteBlock(
int,
int,
void * );
548 CPLErr SetRawLink(
const char *pszFilename,
549 const char *pszVRTPath,
551 vsi_l_offset nImageOffset,
552 int nPixelOffset,
int nLineOffset,
553 const char *pszByteOrder );
557 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
558 int *pnMaxSize, CPLHashSet* hSetFiles);
567 void *pDeserializerData;
573 char **papszSourceParsers;
576 virtual char **
GetMetadata(
const char * pszDomain =
"" );
578 const char * pszDomain =
"" );
581 void AddSourceParser(
const char *pszElementName,
582 VRTSourceParser pfnParser );
609 double dfNoDataValue;
612 int bRelativeToVRTOri;
619 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
620 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
624 void SetSrcWindow(
int,
int,
int,
int );
625 void SetDstWindow(
int,
int,
int,
int );
626 void SetNoDataValue(
double dfNoDataValue );
627 const CPLString& GetResampling()
const {
return osResampling; }
628 void SetResampling(
const char* pszResampling );
630 int GetSrcDstWindow(
int,
int,
int,
int,
int,
int,
631 double *pdfReqXOff,
double *pdfReqYOff,
632 double *pdfReqXSize,
double *pdfReqYSize,
633 int *,
int *,
int *,
int *,
634 int *,
int *,
int *,
int * );
636 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
637 void *pData,
int nBufXSize,
int nBufYSize,
642 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
643 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
644 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
645 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
647 double *pdfMin,
double *pdfMax,
648 double *pdfMean,
double *pdfStdDev,
649 GDALProgressFunc pfnProgress,
void *pProgressData );
650 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
651 double dfMin,
double dfMax,
652 int nBuckets, GUIntBig * panHistogram,
653 int bIncludeOutOfRange,
int bApproxOK,
654 GDALProgressFunc pfnProgress,
void *pProgressData );
656 void DstToSrc(
double dfX,
double dfY,
657 double &dfXOut,
double &dfYOut );
658 void SrcToDst(
double dfX,
double dfY,
659 double &dfXOut,
double &dfYOut );
661 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
662 int *pnMaxSize, CPLHashSet* hSetFiles);
664 virtual int IsSimpleSource() {
return TRUE; }
665 virtual const char* GetType() {
return "SimpleSource"; }
669 CPLErr DatasetRasterIO(
670 int nXOff,
int nYOff,
int nXSize,
int nYSize,
671 void * pData,
int nBufXSize,
int nBufYSize,
673 int nBandCount,
int *panBandMap,
678 void UnsetPreservedRelativeFilenames();
689 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
690 void *pData,
int nBufXSize,
int nBufYSize,
695 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
696 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
697 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
698 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
700 double *pdfMin,
double *pdfMax,
701 double *pdfMean,
double *pdfStdDev,
702 GDALProgressFunc pfnProgress,
void *pProgressData );
703 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
704 double dfMin,
double dfMax,
705 int nBuckets, GUIntBig * panHistogram,
706 int bIncludeOutOfRange,
int bApproxOK,
707 GDALProgressFunc pfnProgress,
void *pProgressData );
709 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
710 virtual const char* GetType() {
return "AveragedSource"; }
721 VRT_SCALING_EXPONENTIAL,
722 } VRTComplexSourceScaling;
727 VRTComplexSourceScaling eScalingType;
732 int bSrcMinMaxDefined;
739 int nColorTableComponent;
741 CPLErr RasterIOInternal(
int nReqXOff,
int nReqYOff,
742 int nReqXSize,
int nReqYSize,
743 void *pData,
int nOutXSize,
int nOutYSize,
752 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
753 void *pData,
int nBufXSize,
int nBufYSize,
758 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
759 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
760 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
761 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
763 double *pdfMin,
double *pdfMax,
764 double *pdfMean,
double *pdfStdDev,
765 GDALProgressFunc pfnProgress,
void *pProgressData );
766 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
767 double dfMin,
double dfMax,
768 int nBuckets, GUIntBig * panHistogram,
769 int bIncludeOutOfRange,
int bApproxOK,
770 GDALProgressFunc pfnProgress,
void *pProgressData );
772 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
773 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
774 virtual const char* GetType() {
return "ComplexSource"; }
776 double LookupValue(
double dfInput );
778 void SetLinearScaling(
double dfOffset,
double dfScale);
779 void SetPowerScaling(
double dfExponent,
784 void SetColorTableComponent(
int nComponent);
786 double *padfLUTInputs;
787 double *padfLUTOutputs;
802 int nSupportedTypesCount;
805 int nExtraEdgePixels;
811 void SetExtraEdgePixels(
int );
812 void SetFilteringDataTypesSupported(
int,
GDALDataType * );
814 virtual CPLErr FilterData(
int nXSize,
int nYSize,
GDALDataType eType,
815 GByte *pabySrcData, GByte *pabyDstData ) = 0;
817 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
818 void *pData,
int nBufXSize,
int nBufYSize,
833 double *padfKernelCoefs;
841 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
842 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
844 virtual CPLErr FilterData(
int nXSize,
int nYSize,
GDALDataType eType,
845 GByte *pabySrcData, GByte *pabyDstData );
847 CPLErr SetKernel(
int nKernelSize,
double *padfCoefs );
848 void SetNormalized(
int );
861 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
862 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
874 virtual CPLErr XMLInit(
CPLXMLNode *,
const char *) {
return CE_Failure; }
875 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
877 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
878 void *pData,
int nBufXSize,
int nBufYSize,
883 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
884 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
885 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
886 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
888 double *pdfMin,
double *pdfMax,
889 double *pdfMean,
double *pdfStdDev,
890 GDALProgressFunc pfnProgress,
void *pProgressData );
891 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
892 double dfMin,
double dfMax,
893 int nBuckets, GUIntBig * panHistogram,
894 int bIncludeOutOfRange,
int bApproxOK,
895 GDALProgressFunc pfnProgress,
void *pProgressData );
897 VRTImageReadFunc pfnReadFunc;
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:890
GDALDataType
Definition: gdal.h:57
virtual double GetScale(int *pbSuccess=NULL)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2515
Document node structure.
Definition: cpl_minixml.h:65
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4819
virtual double GetMaximum(int *pbSuccess=NULL)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1780
Definition: vrtdataset.h:828
virtual double GetNoDataValue(int *pbSuccess=NULL)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1684
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1591
virtual void SetDescription(const char *)
Set object description.
Definition: gdalmajorobject.cpp:116
virtual void FlushCache(void)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:356
Definition: vrtdataset.h:685
virtual CPLErr SetColorInterpretation(GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1998
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2219
virtual CPLErr GetDefaultHistogram(double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3398
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:833
virtual char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: vrtdriver.cpp:75
Definition: vrtdataset.h:262
virtual CPLErr SetMetadata(char **papszMD, const char *pszDomain="")
Set metadata.
Definition: vrtrasterband.cpp:142
virtual GDALColorInterp GetColorInterpretation()
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1958
virtual CPLErr SetScale(double)
Set scaling ratio.
Definition: gdalrasterband.cpp:2560
virtual double GetOffset(int *pbSuccess=NULL)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2416
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:790
Definition: vrtdataset.h:77
Definition: vrtdataset.h:796
GDALRWFlag
Definition: gdal.h:101
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:227
Definition: vrtdataset.h:366
virtual int GetMaskFlags()
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:5019
Definition: vrtdataset.h:122
virtual CPLErr AddBand(GDALDataType eType, char **papszOptions=NULL)
Add a band to a dataset.
Definition: vrtdataset.cpp:852
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: gdalmajorobject.cpp:243
virtual CPLErr SetOffset(double)
Set scaling offset.
Definition: gdalrasterband.cpp:2461
void GetBlockSize(int *, int *)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:684
virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:2881
int GetShared()
Returns shared flag.
Definition: gdaldataset.cpp:1136
Definition: vrtdataset.h:53
Convenient string class based on std::string.
Definition: cpl_string.h:236
virtual CPLErr SetGCPs(int nGCPCount, const GDAL_GCP *pasGCPList, const char *pszGCPProjection)
Assign GCPs.
Definition: gdaldataset.cpp:1328
virtual CPLErr ComputeStatistics(int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:3785
virtual CPLErr AddBand(GDALDataType eType, char **papszOptions=NULL)
Add a band to a dataset.
Definition: gdaldataset.cpp:510
virtual double GetMinimum(int *pbSuccess=NULL)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1872
Definition: vrtdataset.h:855
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition: vrtrasterband.cpp:155
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: vrtrasterband.cpp:1009
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:245
virtual char ** GetFileList()
Fetch files forming dataset.
Definition: vrtdataset.cpp:1084
Definition: vrtdataset.h:525
virtual CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4611
int Dereference()
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1102
Definition: vrtdataset.h:469
virtual CPLErr SetColorTable(GDALColorTable *)
Set the raster color table.
Definition: gdalrasterband.cpp:2090
virtual int CloseDependentDatasets()
Drop references to any other datasets referenced by this dataset.
Definition: vrtdataset.cpp:1169
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain="")
Fetch single metadata item.
Definition: gdalmajorobject.cpp:331
virtual const GDAL_GCP * GetGCPs()
Fetch GCPs.
Definition: gdaldataset.cpp:1274
virtual CPLErr SetGeoTransform(double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:943
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: gdalmajorobject.cpp:286
Definition: vrtdataset.h:490
virtual int GetGCPCount()
Get number of GCPs.
Definition: gdaldataset.cpp:1198
Definition: gdal_priv.h:223
virtual CPLErr SetNoDataValue(double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1732
virtual CPLErr ComputeRasterMinMax(int, double *)
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:4265
virtual const char * GetUnitType()
Return raster unit type.
Definition: gdalrasterband.cpp:2607
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: vrtrasterband.cpp:996
High level image warping class.
Definition: gdalwarper.h:348
Definition: vrtdataset.h:868
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2045
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
virtual char ** GetFileList(void)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2141
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: vrtdriver.cpp:86
virtual const char * GetGCPProjection()
Get output projection for GCPs.
Definition: gdaldataset.cpp:1237
Definition: vrtdataset.h:724
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:2771
Definition: vrtdataset.h:589
virtual CPLErr SetCategoryNames(char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1635
Object with metadata.
Definition: gdal_priv.h:112
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2176
GDALDataset * GetDataset()
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2813
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition: vrtdataset.cpp:584
virtual CPLErr SetUnitType(const char *)
Set unit type.
Definition: gdalrasterband.cpp:2651
A single raster band (or channel).
Definition: gdal_priv.h:611
GDALAccess
Definition: gdal.h:95
Definition: vrtdataset.h:565
virtual CPLErr CreateMaskBand(int nFlagsIn)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:5092
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:276
Definition: vrtdataset.h:213
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
Public (C callable) entry points for virtual GDAL dataset objects.
virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
Compute raster histogram.
Definition: vrtrasterband.cpp:794
Format specific driver.
Definition: gdal_priv.h:877
Definition: gdal_priv.h:582
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: vrtdriver.cpp:99
virtual char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:156
Ground Control Point.
Definition: gdal.h:442