31 #ifndef VIRTUALDATASET_H_INCLUDED
32 #define VIRTUALDATASET_H_INCLUDED
46 int VRTWarpedOverviewTransform(
void *pTransformArg,
int bDstToSrc,
48 double *padfX,
double *padfY,
double *padfZ,
50 void* VRTDeserializeWarpedOverviewTransformer(
CPLXMLNode *psTree );
85 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
86 void *pData,
int nBufXSize,
int nBufYSize,
91 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess ) = 0;
92 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess ) = 0;
93 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax ) = 0;
94 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
96 double *pdfMin,
double *pdfMax,
97 double *pdfMean,
double *pdfStdDev,
98 GDALProgressFunc pfnProgress,
void *pProgressData ) = 0;
99 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
100 double dfMin,
double dfMax,
101 int nBuckets, GUIntBig * panHistogram,
102 int bIncludeOutOfRange,
int bApproxOK,
103 GDALProgressFunc pfnProgress,
void *pProgressData ) = 0;
105 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * ) = 0;
106 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath ) = 0;
108 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
109 int *pnMaxSize, CPLHashSet* hSetFiles);
111 virtual int IsSimpleSource() {
return FALSE; }
129 char *m_pszProjection;
131 int m_bGeoTransformSet;
132 double m_adfGeoTransform[6];
136 char *m_pszGCPProjection;
145 int m_bCompatibleForDatasetIO;
146 int CheckCompatibleForDatasetIO();
147 std::vector<GDALDataset*> m_apoOverviews;
148 std::vector<GDALDataset*> m_apoOverviewsBak;
157 void SetNeedsFlush() { m_bNeedsFlush = TRUE; }
160 void SetWritable(
int bWritableIn) { m_bWritable = bWritableIn; }
170 virtual CPLErr
SetMetadata(
char **papszMD,
const char *pszDomain =
"" );
171 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
172 const char *pszDomain =
"" );
174 virtual char**
GetMetadata(
const char *pszDomain =
"" );
180 const char *pszGCPProjection );
183 char **papszOptions=NULL );
188 int nXOff,
int nYOff,
int nXSize,
int nYSize,
189 void * pData,
int nBufXSize,
int nBufYSize,
191 int nBandCount,
int *panBandMap,
196 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath);
197 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
199 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
200 int,
int *, GDALProgressFunc,
void * );
204 void BuildVirtualOverviews();
206 void UnsetPreservedRelativeFilenames();
212 int nXSize,
int nYSize,
int nBands,
214 static CPLErr Delete(
const char * pszFilename );
230 int m_nOverviewCount;
234 void CreateImplicitOverviews();
245 CPLErr Initialize(
void * );
247 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
248 int,
int *, GDALProgressFunc,
void * );
250 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
251 const char *pszDomain =
"" );
253 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
254 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
257 char **papszOptions=NULL );
261 CPLErr ProcessBlock(
int iBlockX,
int iBlockY );
275 GTAdjust_Intersection,
277 GTAdjust_NoneWithoutWarning
288 std::vector<VRTPansharpenedDataset*> m_apoOverviewDatasets;
289 std::map<CPLString,CPLString> m_oMapToRelativeFilenames;
291 int m_bLoadingOtherBands;
293 GByte *m_pabyLastBufferBandRasterIO;
294 int m_nLastBandRasterIOXOff;
295 int m_nLastBandRasterIOYOff;
296 int m_nLastBandRasterIOXSize;
297 int m_nLastBandRasterIOYSize;
300 GTAdjustment m_eGTAdjustment;
301 int m_bNoDataDisabled;
303 std::vector<GDALDataset*> m_apoDatasetsToClose;
312 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
313 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
315 CPLErr XMLInit(
CPLXMLNode *psTree,
const char *pszVRTPath,
317 int nInputSpectralBandsIn,
321 char **papszOptions=NULL );
326 int nXOff,
int nYOff,
int nXSize,
int nYSize,
327 void * pData,
int nBufXSize,
int nBufYSize,
329 int nBandCount,
int *panBandMap,
351 int m_bNoDataValueSet;
352 int m_bHideNoDataValue;
353 double m_dfNoDataValue;
360 char **m_papszCategoryNames;
367 void Initialize(
int nXSize,
int nYSize );
369 std::vector<VRTOverviewInfo> m_apoOverviews;
378 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
379 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
397 virtual CPLErr
SetMetadata(
char **papszMD,
const char *pszDomain =
"" );
398 virtual CPLErr
SetMetadataItem(
const char *pszName,
const char *pszValue,
399 const char *pszDomain =
"" );
401 virtual double GetOffset(
int *pbSuccess = NULL );
403 virtual double GetScale(
int *pbSuccess = NULL );
409 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
410 int nBuckets, GUIntBig * panHistogram,
411 int bIncludeOutOfRange,
int bApproxOK,
412 GDALProgressFunc,
void *pProgressData );
415 int *pnBuckets, GUIntBig ** ppanHistogram,
417 GDALProgressFunc,
void *pProgressData);
420 int nBuckets, GUIntBig *panHistogram );
424 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
425 int *pnMaxSize, CPLHashSet* hSetFiles);
436 void SetIsMaskBand();
438 CPLErr UnsetNoDataValue();
440 virtual int CloseDependentDatasets();
442 virtual int IsSourcedRasterBand() {
return FALSE; }
443 virtual int IsPansharpenRasterBand() {
return FALSE; }
455 int m_nRecursionCounter;
457 char **m_papszSourceList;
459 void Initialize(
int nXSize,
int nYSize );
461 int CanUseSourcesMinMaxImplementations();
470 int nXSize,
int nYSize );
473 int nXSize,
int nYSize );
476 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
483 const char * pszDomain =
"" );
484 virtual char **
GetMetadata(
const char * pszDomain =
"" );
486 const char * pszDomain =
"" );
488 const char * pszValue,
489 const char * pszDomain =
"" );
491 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
492 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
494 virtual double GetMinimum(
int *pbSuccess = NULL );
495 virtual double GetMaximum(
int *pbSuccess = NULL );
498 double *pdfMin,
double *pdfMax,
499 double *pdfMean,
double *pdfStdDev,
500 GDALProgressFunc pfnProgress,
void *pProgressData );
501 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
502 int nBuckets, GUIntBig * panHistogram,
503 int bIncludeOutOfRange,
int bApproxOK,
504 GDALProgressFunc pfnProgress,
void *pProgressData );
508 double dfSrcXOff=-1,
double dfSrcYOff=-1,
509 double dfSrcXSize=-1,
double dfSrcYSize=-1,
510 double dfDstXOff=-1,
double dfDstYOff=-1,
511 double dfDstXSize=-1,
double dfDstYSize=-1,
512 const char *pszResampling =
"near",
513 double dfNoDataValue = VRT_NODATA_UNSET);
515 double dfSrcXOff=-1,
double dfSrcYOff=-1,
516 double dfSrcXSize=-1,
double dfSrcYSize=-1,
517 double dfDstXOff=-1,
double dfDstYOff=-1,
518 double dfDstXSize=-1,
double dfDstYSize=-1,
519 double dfScaleOff=0.0,
520 double dfScaleRatio=1.0,
521 double dfNoDataValue = VRT_NODATA_UNSET,
522 int nColorTableComponent = 0);
525 double dfSrcXOff=-1,
double dfSrcYOff=-1,
526 double dfSrcXSize=-1,
double dfSrcYSize=-1,
527 double dfDstXOff=-1,
double dfDstYOff=-1,
528 double dfDstXSize=-1,
double dfDstYSize=-1 );
530 CPLErr AddFuncSource( VRTImageReadFunc pfnReadFunc,
void *hCBData,
531 double dfNoDataValue = VRT_NODATA_UNSET );
536 double dfSrcXOff,
double dfSrcYOff,
537 double dfSrcXSize,
double dfSrcYSize,
538 double dfDstXOff,
double dfDstYOff,
539 double dfDstXSize,
double dfDstYSize);
541 virtual CPLErr IReadBlock(
int,
int,
void * );
543 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
544 int *pnMaxSize, CPLHashSet* hSetFiles);
546 virtual int CloseDependentDatasets();
548 virtual int IsSourcedRasterBand() {
return TRUE; }
562 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
563 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
565 virtual CPLErr IReadBlock(
int,
int,
void * );
566 virtual CPLErr IWriteBlock(
int,
int,
void * );
577 int m_nIndexAsPansharpenedBand;
584 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
585 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
587 virtual CPLErr IReadBlock(
int,
int,
void * );
590 int nXOff,
int nYOff,
int nXSize,
int nYSize,
591 void * pData,
int nBufXSize,
int nBufYSize,
599 virtual int IsPansharpenRasterBand() {
return TRUE; }
601 void SetIndexAsPansharpenedBand(
int nIdx) { m_nIndexAsPansharpenedBand = nIdx; }
602 int GetIndexAsPansharpenedBand()
const {
return m_nIndexAsPansharpenedBand; }
621 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
626 static CPLErr AddPixelFunction
627 (
const char *pszFuncName, GDALDerivedPixelFunc pfnPixelFunc);
628 static GDALDerivedPixelFunc GetPixelFunction(
const char *pszFuncName);
630 void SetPixelFunctionName(
const char *pszFuncName);
633 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
634 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
646 RawRasterBand *m_poRawRaster;
648 char *m_pszSourceFilename;
649 int m_bRelativeToVRT;
656 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
657 virtual CPLXMLNode * SerializeToXML(
const char *pszVRTPath );
659 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
664 virtual CPLErr IReadBlock(
int,
int,
void * );
665 virtual CPLErr IWriteBlock(
int,
int,
void * );
667 CPLErr SetRawLink(
const char *pszFilename,
668 const char *pszVRTPath,
670 vsi_l_offset nImageOffset,
671 int nPixelOffset,
int nLineOffset,
672 const char *pszByteOrder );
676 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
677 int *pnMaxSize, CPLHashSet* hSetFiles);
686 void *m_pDeserializerData;
692 char **papszSourceParsers;
695 virtual char **
GetMetadata(
const char * pszDomain =
"" );
697 const char * pszDomain =
"" );
700 void AddSourceParser(
const char *pszElementName,
701 VRTSourceParser pfnParser );
728 double m_dfNoDataValue;
733 int m_bRelativeToVRTOri;
736 int NeedMaxValAdjustment()
const;
741 double dfXDstRatio,
double dfYDstRatio);
744 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
745 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
749 void SetSrcWindow(
double,
double,
double,
double );
750 void SetDstWindow(
double,
double,
double,
double );
751 void SetNoDataValue(
double dfNoDataValue );
752 const CPLString& GetResampling()
const {
return m_osResampling; }
753 void SetResampling(
const char* pszResampling );
755 int GetSrcDstWindow(
int,
int,
int,
int,
int,
int,
756 double *pdfReqXOff,
double *pdfReqYOff,
757 double *pdfReqXSize,
double *pdfReqYSize,
758 int *,
int *,
int *,
int *,
759 int *,
int *,
int *,
int * );
761 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
762 void *pData,
int nBufXSize,
int nBufYSize,
767 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
768 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
769 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
770 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
772 double *pdfMin,
double *pdfMax,
773 double *pdfMean,
double *pdfStdDev,
774 GDALProgressFunc pfnProgress,
void *pProgressData );
775 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
776 double dfMin,
double dfMax,
777 int nBuckets, GUIntBig * panHistogram,
778 int bIncludeOutOfRange,
int bApproxOK,
779 GDALProgressFunc pfnProgress,
void *pProgressData );
781 void DstToSrc(
double dfX,
double dfY,
782 double &dfXOut,
double &dfYOut );
783 void SrcToDst(
double dfX,
double dfY,
784 double &dfXOut,
double &dfYOut );
786 virtual void GetFileList(
char*** ppapszFileList,
int *pnSize,
787 int *pnMaxSize, CPLHashSet* hSetFiles);
789 virtual int IsSimpleSource() {
return TRUE; }
790 virtual const char* GetType() {
return "SimpleSource"; }
794 CPLErr DatasetRasterIO(
795 int nXOff,
int nYOff,
int nXSize,
int nYSize,
796 void * pData,
int nBufXSize,
int nBufYSize,
798 int nBandCount,
int *panBandMap,
803 void UnsetPreservedRelativeFilenames();
805 void SetMaxValue(
int nVal) { m_nMaxValue = nVal; }
816 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
817 void *pData,
int nBufXSize,
int nBufYSize,
822 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
823 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
824 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
825 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
827 double *pdfMin,
double *pdfMax,
828 double *pdfMean,
double *pdfStdDev,
829 GDALProgressFunc pfnProgress,
void *pProgressData );
830 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
831 double dfMin,
double dfMax,
832 int nBuckets, GUIntBig * panHistogram,
833 int bIncludeOutOfRange,
int bApproxOK,
834 GDALProgressFunc pfnProgress,
void *pProgressData );
836 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
837 virtual const char* GetType() {
return "AveragedSource"; }
848 VRT_SCALING_EXPONENTIAL,
849 } VRTComplexSourceScaling;
854 VRTComplexSourceScaling m_eScalingType;
856 double m_dfScaleRatio;
859 int m_bSrcMinMaxDefined;
866 int m_nColorTableComponent;
868 CPLErr RasterIOInternal(
int nReqXOff,
int nReqYOff,
869 int nReqXSize,
int nReqYSize,
870 void *pData,
int nOutXSize,
int nOutYSize,
878 double dfXDstRatio,
double dfYDstRatio);
881 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
882 void *pData,
int nBufXSize,
int nBufYSize,
887 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
888 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
889 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
890 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
892 double *pdfMin,
double *pdfMax,
893 double *pdfMean,
double *pdfStdDev,
894 GDALProgressFunc pfnProgress,
void *pProgressData );
895 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
896 double dfMin,
double dfMax,
897 int nBuckets, GUIntBig * panHistogram,
898 int bIncludeOutOfRange,
int bApproxOK,
899 GDALProgressFunc pfnProgress,
void *pProgressData );
901 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
902 virtual CPLErr XMLInit(
CPLXMLNode *,
const char * );
903 virtual const char* GetType() {
return "ComplexSource"; }
905 double LookupValue(
double dfInput );
907 void SetLinearScaling(
double dfOffset,
double dfScale);
908 void SetPowerScaling(
double dfExponent,
913 void SetColorTableComponent(
int nComponent);
915 double *m_padfLUTInputs;
916 double *m_padfLUTOutputs;
931 int m_nSupportedTypesCount;
934 int m_nExtraEdgePixels;
940 void SetExtraEdgePixels(
int );
941 void SetFilteringDataTypesSupported(
int,
GDALDataType * );
943 virtual CPLErr FilterData(
int nXSize,
int nYSize,
GDALDataType eType,
944 GByte *pabySrcData, GByte *pabyDstData ) = 0;
946 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
947 void *pData,
int nBufXSize,
int nBufYSize,
962 double *m_padfKernelCoefs;
970 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
971 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
973 virtual CPLErr FilterData(
int nXSize,
int nYSize,
GDALDataType eType,
974 GByte *pabySrcData, GByte *pabyDstData );
976 CPLErr SetKernel(
int nKernelSize,
double *padfCoefs );
977 void SetNormalized(
int );
990 virtual CPLErr XMLInit(
CPLXMLNode *psTree,
const char * );
991 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
1003 virtual CPLErr XMLInit(
CPLXMLNode *,
const char *) {
return CE_Failure; }
1004 virtual CPLXMLNode *SerializeToXML(
const char *pszVRTPath );
1006 virtual CPLErr RasterIO(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
1007 void *pData,
int nBufXSize,
int nBufYSize,
1012 virtual double GetMinimum(
int nXSize,
int nYSize,
int *pbSuccess );
1013 virtual double GetMaximum(
int nXSize,
int nYSize,
int *pbSuccess );
1014 virtual CPLErr ComputeRasterMinMax(
int nXSize,
int nYSize,
int bApproxOK,
double* adfMinMax );
1015 virtual CPLErr ComputeStatistics(
int nXSize,
int nYSize,
1017 double *pdfMin,
double *pdfMax,
1018 double *pdfMean,
double *pdfStdDev,
1019 GDALProgressFunc pfnProgress,
void *pProgressData );
1020 virtual CPLErr GetHistogram(
int nXSize,
int nYSize,
1021 double dfMin,
double dfMax,
1022 int nBuckets, GUIntBig * panHistogram,
1023 int bIncludeOutOfRange,
int bApproxOK,
1024 GDALProgressFunc pfnProgress,
void *pProgressData );
1026 VRTImageReadFunc pfnReadFunc;
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:903
GDALDataType
Definition: gdal.h:57
virtual double GetScale(int *pbSuccess=NULL)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2317
Document node structure.
Definition: cpl_minixml.h:65
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4618
virtual double GetMaximum(int *pbSuccess=NULL)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1589
Definition: vrtdataset.h:957
virtual double GetNoDataValue(int *pbSuccess=NULL)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1428
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1335
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:374
Definition: vrtdataset.h:812
virtual CPLErr SetColorInterpretation(GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1807
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2028
virtual CPLErr GetDefaultHistogram(double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3198
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:846
virtual char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: vrtdriver.cpp:77
Definition: vrtdataset.h:346
virtual CPLErr SetMetadata(char **papszMD, const char *pszDomain="")
Set metadata.
Definition: vrtrasterband.cpp:148
virtual GDALColorInterp GetColorInterpretation()
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1767
virtual CPLErr SetScale(double)
Set scaling ratio.
Definition: gdalrasterband.cpp:2362
virtual char ** GetFileList()
Fetch files forming dataset.
Definition: vrtpansharpened.cpp:214
virtual double GetOffset(int *pbSuccess=NULL)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2218
Definition: vrtdataset.h:575
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:803
Definition: vrtdataset.h:80
Definition: vrtdataset.h:925
GDALRWFlag
Definition: gdal.h:104
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:230
Definition: vrtdataset.h:452
virtual int GetMaskFlags()
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:4852
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:233
Definition: vrtdataset.h:125
virtual CPLErr AddBand(GDALDataType eType, char **papszOptions=NULL)
Add a band to a dataset.
Definition: vrtdataset.cpp:898
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: gdalmajorobject.cpp:243
virtual int CloseDependentDatasets()
Drop references to any other datasets referenced by this dataset.
Definition: vrtpansharpened.cpp:148
virtual CPLErr SetOffset(double)
Set scaling offset.
Definition: gdalrasterband.cpp:2263
void GetBlockSize(int *, int *)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:689
virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:2683
int GetShared()
Returns shared flag.
Definition: gdaldataset.cpp:1149
Pansharpening operation class.
Definition: gdalpansharpen.h:184
Definition: vrtdataset.h:56
Convenient string class based on std::string.
Definition: cpl_string.h:283
virtual CPLErr SetGCPs(int nGCPCount, const GDAL_GCP *pasGCPList, const char *pszGCPProjection)
Assign GCPs.
Definition: gdaldataset.cpp:1341
virtual CPLErr ComputeStatistics(int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:3585
virtual CPLErr AddBand(GDALDataType eType, char **papszOptions=NULL)
Add a band to a dataset.
Definition: gdaldataset.cpp:524
virtual double GetMinimum(int *pbSuccess=NULL)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1681
Definition: vrtdataset.h:984
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition: vrtrasterband.cpp:161
Definition: vrtdataset.h:280
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: vrtrasterband.cpp:1016
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:248
virtual char ** GetFileList()
Fetch files forming dataset.
Definition: vrtdataset.cpp:1135
Definition: vrtdataset.h:644
virtual CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4410
int Dereference()
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1115
Definition: vrtdataset.h:555
virtual CPLErr SetColorTable(GDALColorTable *)
Set the raster color table.
Definition: gdalrasterband.cpp:1899
virtual int CloseDependentDatasets()
Drop references to any other datasets referenced by this dataset.
Definition: vrtdataset.cpp:1220
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:1287
virtual CPLErr SetGeoTransform(double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:956
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: vrtpansharpened.cpp:1648
virtual CPLErr DeleteNoDataValue()
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1539
virtual CPLErr AddBand(GDALDataType eType, char **papszOptions=NULL)
Add a band to a dataset.
Definition: vrtpansharpened.cpp:1294
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: gdalmajorobject.cpp:286
Definition: vrtdataset.h:609
virtual int GetGCPCount()
Get number of GCPs.
Definition: gdaldataset.cpp:1211
Definition: gdal_priv.h:238
virtual CPLErr SetNoDataValue(double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1483
virtual CPLErr ComputeRasterMinMax(int, double *)
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:4065
virtual const char * GetUnitType()
Return raster unit type.
Definition: gdalrasterband.cpp:2409
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: vrtrasterband.cpp:991
High level image warping class.
Definition: gdalwarper.h:355
Definition: vrtdataset.h:997
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:1854
virtual int CloseDependentDatasets()
Drop references to any other datasets referenced by this dataset.
Definition: gdaldataset.cpp:3280
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: vrtpansharpened.cpp:1746
virtual CPLErr CreateMaskBand(int nFlagsIn)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2431
virtual char ** GetFileList(void)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2303
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: vrtdriver.cpp:88
virtual const char * GetGCPProjection()
Get output projection for GCPs.
Definition: gdaldataset.cpp:1250
Definition: vrtdataset.h:851
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:2973
Definition: vrtdataset.h:708
virtual CPLErr SetCategoryNames(char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1379
Object with metadata.
Definition: gdal_priv.h:122
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: gdalrasterband.cpp:1985
GDALDataset * GetDataset()
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2615
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition: vrtdataset.cpp:616
virtual CPLErr SetUnitType(const char *)
Set unit type.
Definition: gdalrasterband.cpp:2453
A single raster band (or channel).
Definition: gdal_priv.h:735
GDALAccess
Definition: gdal.h:98
Definition: vrtdataset.h:684
virtual CPLErr CreateMaskBand(int nFlagsIn)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:4925
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:296
Definition: vrtdataset.h:224
GDALColorInterp
Definition: gdal.h:173
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:801
Format specific driver.
Definition: gdal_priv.h:1034
Definition: gdal_priv.h:659
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: vrtdriver.cpp:101
virtual char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:156
Ground Control Point.
Definition: gdal.h:492