31 #ifndef VIRTUALDATASET_H_INCLUDED
32 #define VIRTUALDATASET_H_INCLUDED
34 #include "gdal_priv.h"
42 int VRTWarpedOverviewTransform(
void *pTransformArg,
int bDstToSrc,
44 double *padfX,
double *padfY,
double *padfZ,
46 void* VRTDeserializeWarpedOverviewTransformer(
CPLXMLNode *psTree );
80 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
81 void *pData,
int nBufXSize,
int nBufYSize,
83 int nPixelSpace,
int nLineSpace ) = 0;
85 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess ) = 0;
86 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess ) = 0;
87 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax ) = 0;
88 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
90 double *pdfMin,
double *pdfMax,
91 double *pdfMean,
double *pdfStdDev,
92 GDALProgressFunc pfnProgress,
void *pProgressData ) = 0;
93 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
94 double dfMin,
double dfMax,
95 int nBuckets,
int * panHistogram,
96 int bIncludeOutOfRange,
int bApproxOK,
97 GDALProgressFunc pfnProgress,
void *pProgressData ) = 0;
99 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * ) = 0;
100 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath ) = 0;
102 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
103 int *pnMaxSize, CPLHashSet* hSetFiles);
105 virtual int IsSimpleSource() {
return FALSE; }
125 int bGeoTransformSet;
126 double adfGeoTransform[6];
130 char *pszGCPProjection;
139 int bCompatibleForDatasetIO;
140 int CheckCompatibleForDatasetIO();
149 void SetNeedsFlush() { bNeedsFlush = TRUE; }
152 void SetWritable(
int bWritable) { this->bWritable = bWritable; }
162 virtual CPLErr
SetMetadata(
char **papszMD,
const char *pszDomain =
"" );
163 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
164 const char *pszDomain =
"" );
170 const char *pszGCPProjection );
173 char **papszOptions=NULL );
178 int nXOff,
int nYOff,
int nXSize,
int nYSize,
179 void * pData,
int nBufXSize,
int nBufYSize,
181 int nBandCount,
int *panBandMap,
182 int nPixelSpace,
int nLineSpace,
int nBandSpace);
184 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath);
185 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
194 int nXSize,
int nYSize,
int nBands,
196 static CPLErr Delete(
const char * pszFilename );
225 CPLErr Initialize(
void * );
227 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
228 int,
int *, GDALProgressFunc,
void * );
230 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
231 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
234 char **papszOptions=NULL );
238 CPLErr ProcessBlock(
int iBlockX,
int iBlockY );
256 int bHideNoDataValue;
257 double dfNoDataValue;
264 char **papszCategoryNames;
271 void Initialize(
int nXSize,
int nYSize );
273 std::vector<VRTOverviewInfo> apoOverviews;
282 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
283 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
300 virtual CPLErr
SetMetadata(
char **papszMD,
const char *pszDomain =
"" );
301 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
302 const char *pszDomain =
"" );
304 virtual double GetOffset(
int *pbSuccess = NULL );
306 virtual double GetScale(
int *pbSuccess = NULL );
312 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
313 int nBuckets,
int * panHistogram,
314 int bIncludeOutOfRange,
int bApproxOK,
315 GDALProgressFunc,
void *pProgressData );
318 int *pnBuckets,
int ** ppanHistogram,
320 GDALProgressFunc,
void *pProgressData);
323 int nBuckets,
int *panHistogram );
327 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
328 int *pnMaxSize, CPLHashSet* hSetFiles);
339 void SetIsMaskBand();
341 CPLErr UnsetNoDataValue();
343 virtual int CloseDependentDatasets();
345 virtual int IsSourcedRasterBand() {
return FALSE; }
357 int nRecursionCounter;
359 char **papszSourceList;
361 void Initialize(
int nXSize,
int nYSize );
363 int CanUseSourcesMinMaxImplementations();
372 int nXSize,
int nYSize );
375 int nXSize,
int nYSize );
378 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
384 const char * pszDomain =
"" );
385 virtual char **
GetMetadata(
const char * pszDomain =
"" );
387 const char * pszDomain =
"" );
389 const char * pszValue,
390 const char * pszDomain =
"" );
392 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
393 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
395 virtual double GetMinimum(
int *pbSuccess = NULL );
396 virtual double GetMaximum(
int *pbSuccess = NULL );
399 double *pdfMin,
double *pdfMax,
400 double *pdfMean,
double *pdfStdDev,
401 GDALProgressFunc pfnProgress,
void *pProgressData );
402 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
403 int nBuckets,
int * panHistogram,
404 int bIncludeOutOfRange,
int bApproxOK,
405 GDALProgressFunc pfnProgress,
void *pProgressData );
409 int nSrcXOff=-1,
int nSrcYOff=-1,
410 int nSrcXSize=-1,
int nSrcYSize=-1,
411 int nDstXOff=-1,
int nDstYOff=-1,
412 int nDstXSize=-1,
int nDstYSize=-1,
413 const char *pszResampling =
"near",
414 double dfNoDataValue = VRT_NODATA_UNSET);
416 int nSrcXOff=-1,
int nSrcYOff=-1,
417 int nSrcXSize=-1,
int nSrcYSize=-1,
418 int nDstXOff=-1,
int nDstYOff=-1,
419 int nDstXSize=-1,
int nDstYSize=-1,
420 double dfScaleOff=0.0,
421 double dfScaleRatio=1.0,
422 double dfNoDataValue = VRT_NODATA_UNSET,
423 int nColorTableComponent = 0);
426 int nSrcXOff=-1,
int nSrcYOff=-1,
427 int nSrcXSize=-1,
int nSrcYSize=-1,
428 int nDstXOff=-1,
int nDstYOff=-1,
429 int nDstXSize=-1,
int nDstYSize=-1 );
431 CPLErr AddFuncSource( VRTImageReadFunc pfnReadFunc,
void *hCBData,
432 double dfNoDataValue = VRT_NODATA_UNSET );
437 int nSrcXOff,
int nSrcYOff,
438 int nSrcXSize,
int nSrcYSize,
439 int nDstXOff,
int nDstYOff,
440 int nDstXSize,
int nDstYSize);
442 virtual CPLErr IReadBlock(
int,
int,
void * );
444 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
445 int *pnMaxSize, CPLHashSet* hSetFiles);
447 virtual int CloseDependentDatasets();
449 virtual int IsSourcedRasterBand() {
return TRUE; }
463 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
464 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
466 virtual CPLErr IReadBlock(
int,
int,
void * );
467 virtual CPLErr IWriteBlock(
int,
int,
void * );
489 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
493 static CPLErr AddPixelFunction
494 (
const char *pszFuncName, GDALDerivedPixelFunc pfnPixelFunc);
495 static GDALDerivedPixelFunc GetPixelFunction(
const char *pszFuncName);
497 void SetPixelFunctionName(
const char *pszFuncName);
500 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
501 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
513 RawRasterBand *poRawRaster;
515 char *pszSourceFilename;
523 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
524 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
526 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
530 virtual CPLErr IReadBlock(
int,
int,
void * );
531 virtual CPLErr IWriteBlock(
int,
int,
void * );
533 CPLErr SetRawLink(
const char *pszFilename,
534 const char *pszVRTPath,
536 vsi_l_offset nImageOffset,
537 int nPixelOffset,
int nLineOffset,
538 const char *pszByteOrder );
542 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
543 int *pnMaxSize, CPLHashSet* hSetFiles);
552 void *pDeserializerData;
558 char **papszSourceParsers;
561 virtual char **
GetMetadata(
const char * pszDomain =
"" );
563 const char * pszDomain =
"" );
566 void AddSourceParser(
const char *pszElementName,
567 VRTSourceParser pfnParser );
594 double dfNoDataValue;
600 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
601 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
605 void SetSrcWindow(
int,
int,
int,
int );
606 void SetDstWindow(
int,
int,
int,
int );
607 void SetNoDataValue(
double dfNoDataValue );
609 int GetSrcDstWindow(
int,
int,
int,
int,
int,
int,
610 int *,
int *,
int *,
int *,
611 int *,
int *,
int *,
int * );
613 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
614 void *pData,
int nBufXSize,
int nBufYSize,
616 int nPixelSpace,
int nLineSpace );
618 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
619 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
620 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
621 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
623 double *pdfMin,
double *pdfMax,
624 double *pdfMean,
double *pdfStdDev,
625 GDALProgressFunc pfnProgress,
void *pProgressData );
626 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
627 double dfMin,
double dfMax,
628 int nBuckets,
int * panHistogram,
629 int bIncludeOutOfRange,
int bApproxOK,
630 GDALProgressFunc pfnProgress,
void *pProgressData );
632 void DstToSrc(
double dfX,
double dfY,
633 double &dfXOut,
double &dfYOut );
634 void SrcToDst(
double dfX,
double dfY,
635 double &dfXOut,
double &dfYOut );
637 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
638 int *pnMaxSize, CPLHashSet* hSetFiles);
640 virtual int IsSimpleSource() {
return TRUE; }
641 virtual const char* GetType() {
return "SimpleSource"; }
645 CPLErr DatasetRasterIO(
646 int nXOff,
int nYOff,
int nXSize,
int nYSize,
647 void * pData,
int nBufXSize,
int nBufYSize,
649 int nBandCount,
int *panBandMap,
650 int nPixelSpace,
int nLineSpace,
int nBandSpace);
661 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
662 void *pData,
int nBufXSize,
int nBufYSize,
664 int nPixelSpace,
int nLineSpace );
666 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
667 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
668 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
669 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
671 double *pdfMin,
double *pdfMax,
672 double *pdfMean,
double *pdfStdDev,
673 GDALProgressFunc pfnProgress,
void *pProgressData );
674 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
675 double dfMin,
double dfMax,
676 int nBuckets,
int * panHistogram,
677 int bIncludeOutOfRange,
int bApproxOK,
678 GDALProgressFunc pfnProgress,
void *pProgressData );
680 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
681 virtual const char* GetType() {
return "AveragedSource"; }
692 VRT_SCALING_EXPONENTIAL,
693 } VRTComplexSourceScaling;
698 VRTComplexSourceScaling eScalingType;
703 int bSrcMinMaxDefined;
710 int nColorTableComponent;
712 CPLErr RasterIOInternal(
int nReqXOff,
int nReqYOff,
713 int nReqXSize,
int nReqYSize,
714 void *pData,
int nOutXSize,
int nOutYSize,
716 int nPixelSpace,
int nLineSpace );
722 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
723 void *pData,
int nBufXSize,
int nBufYSize,
725 int nPixelSpace,
int nLineSpace );
727 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
728 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
729 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
730 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
732 double *pdfMin,
double *pdfMax,
733 double *pdfMean,
double *pdfStdDev,
734 GDALProgressFunc pfnProgress,
void *pProgressData );
735 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
736 double dfMin,
double dfMax,
737 int nBuckets,
int * panHistogram,
738 int bIncludeOutOfRange,
int bApproxOK,
739 GDALProgressFunc pfnProgress,
void *pProgressData );
741 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
742 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
743 virtual const char* GetType() {
return "ComplexSource"; }
745 double LookupValue(
double dfInput );
747 void SetLinearScaling(
double dfOffset,
double dfScale);
748 void SetPowerScaling(
double dfExponent,
753 void SetColorTableComponent(
int nComponent);
755 double *padfLUTInputs;
756 double *padfLUTOutputs;
771 int nSupportedTypesCount;
774 int nExtraEdgePixels;
780 void SetExtraEdgePixels(
int );
781 void SetFilteringDataTypesSupported(
int,
GDALDataType * );
783 virtual CPLErr FilterData(
int nXSize,
int nYSize,
GDALDataType eType,
784 GByte *pabySrcData, GByte *pabyDstData ) = 0;
786 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
787 void *pData,
int nBufXSize,
int nBufYSize,
789 int nPixelSpace,
int nLineSpace );
801 double *padfKernelCoefs;
809 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
810 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
812 virtual CPLErr FilterData(
int nXSize,
int nYSize,
GDALDataType eType,
813 GByte *pabySrcData, GByte *pabyDstData );
815 CPLErr SetKernel(
int nKernelSize,
double *padfCoefs );
816 void SetNormalized(
int );
829 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
830 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
842 virtual CPLErr XMLInit(
CPLXMLNode *,
const char *) {
return CE_Failure; }
843 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
845 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
846 void *pData,
int nBufXSize,
int nBufYSize,
848 int nPixelSpace,
int nLineSpace );
850 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
851 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
852 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
853 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
855 double *pdfMin,
double *pdfMax,
856 double *pdfMean,
double *pdfStdDev,
857 GDALProgressFunc pfnProgress,
void *pProgressData );
858 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
859 double dfMin,
double dfMax,
860 int nBuckets,
int * panHistogram,
861 int bIncludeOutOfRange,
int bApproxOK,
862 GDALProgressFunc pfnProgress,
void *pProgressData );
864 VRTImageReadFunc pfnReadFunc;
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:849
GDALDataType
Definition: gdal.h:55
virtual double GetScale(int *pbSuccess=NULL)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2337
Document node structure.
Definition: cpl_minixml.h:65
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4450
virtual double GetMaximum(int *pbSuccess=NULL)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1629
Definition: vrtdataset.h:796
virtual double GetNoDataValue(int *pbSuccess=NULL)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1534
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1441
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:331
Definition: vrtdataset.h:657
virtual CPLErr GetDefaultHistogram(double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3154
virtual CPLErr SetColorInterpretation(GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1847
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2068
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:792
virtual char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: vrtdriver.cpp:70
Definition: vrtdataset.h:250
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:1807
virtual CPLErr SetScale(double)
Set scaling ratio.
Definition: gdalrasterband.cpp:2382
virtual double GetOffset(int *pbSuccess=NULL)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2238
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:749
Definition: vrtdataset.h:75
Definition: vrtdataset.h:765
GDALRWFlag
Definition: gdal.h:99
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:162
Definition: vrtdataset.h:354
virtual int GetMaskFlags()
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:4650
Definition: vrtdataset.h:119
virtual CPLErr AddBand(GDALDataType eType, char **papszOptions=NULL)
Add a band to a dataset.
Definition: vrtdataset.cpp:821
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: gdalmajorobject.cpp:243
virtual CPLErr SetOffset(double)
Set scaling offset.
Definition: gdalrasterband.cpp:2283
void GetBlockSize(int *, int *)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:621
int GetShared()
Returns shared flag.
Definition: gdaldataset.cpp:1092
Definition: vrtdataset.h:51
Convenient string class based on std::string.
Definition: cpl_string.h:226
virtual CPLErr SetGCPs(int nGCPCount, const GDAL_GCP *pasGCPList, const char *pszGCPProjection)
Assign GCPs.
Definition: gdaldataset.cpp:1285
virtual CPLErr ComputeStatistics(int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:3473
virtual CPLErr AddBand(GDALDataType eType, char **papszOptions=NULL)
Add a band to a dataset.
Definition: gdaldataset.cpp:469
virtual double GetMinimum(int *pbSuccess=NULL)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1721
Definition: vrtdataset.h:823
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:1007
virtual CPLErr CreateMaskBand(int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:4723
virtual char ** GetFileList()
Fetch files forming dataset.
Definition: vrtdataset.cpp:1054
virtual CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4290
Definition: vrtdataset.h:511
virtual CPLErr CreateMaskBand(int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2161
int Dereference()
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1058
Definition: vrtdataset.h:456
virtual CPLErr SetColorTable(GDALColorTable *)
Set the raster color table.
Definition: gdalrasterband.cpp:1939
virtual int CloseDependentDatasets()
Drop references to any other datasets referenced by this dataset.
Definition: vrtdataset.cpp:1139
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:1231
virtual CPLErr SetGeoTransform(double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:902
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: gdalmajorobject.cpp:286
Definition: vrtdataset.h:477
virtual int GetGCPCount()
Get number of GCPs.
Definition: gdaldataset.cpp:1155
Definition: gdal_priv.h:220
virtual CPLErr SetNoDataValue(double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1582
virtual CPLErr ComputeRasterMinMax(int, double *)
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:3946
virtual const char * GetUnitType()
Return raster unit type.
Definition: gdalrasterband.cpp:2428
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: vrtrasterband.cpp:994
High level image warping class.
Definition: gdalwarper.h:326
Definition: vrtdataset.h:836
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:1894
virtual int CloseDependentDatasets()
Drop references to any other datasets referenced by this dataset.
Definition: gdaldataset.cpp:2789
virtual char ** GetFileList(void)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2034
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: vrtdriver.cpp:81
virtual const char * GetGCPProjection()
Get output projection for GCPs.
Definition: gdaldataset.cpp:1194
Definition: vrtdataset.h:695
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:2482
Definition: vrtdataset.h:574
virtual CPLErr SetCategoryNames(char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1485
Object with metadata.
Definition: gdal_priv.h:109
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2025
GDALDataset * GetDataset()
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2634
virtual CPLErr SetUnitType(const char *)
Set unit type.
Definition: gdalrasterband.cpp:2472
A single raster band (or channel).
Definition: gdal_priv.h:475
GDALAccess
Definition: gdal.h:93
Definition: vrtdataset.h:550
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:254
Definition: vrtdataset.h:206
GDALColorInterp
Definition: gdal.h:105
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.
Format specific driver.
Definition: gdal_priv.h:722
virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:2701
Definition: gdal_priv.h:447
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: vrtdriver.cpp:94
virtual char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:156
virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
Compute raster histogram.
Definition: vrtrasterband.cpp:792
Ground Control Point.
Definition: gdal.h:255