30 #ifndef GDAL_PROXY_H_INCLUDED
31 #define GDAL_PROXY_H_INCLUDED
37 #include "gdal_priv.h"
48 virtual void UnrefUnderlyingDataset(
GDALDataset* poUnderlyingDataset);
50 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
51 int,
int *, GDALProgressFunc,
void * );
52 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
54 int,
int *,
int,
int,
int );
57 virtual char **
GetMetadata(
const char * pszDomain );
59 const char * pszDomain );
61 const char * pszDomain );
63 const char * pszValue,
64 const char * pszDomain );
82 const char *pszGCPProjection );
84 virtual CPLErr
AdviseRead(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
85 int nBufXSize,
int nBufYSize,
87 int nBandCount,
int *panBandList,
88 char **papszOptions );
102 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
104 virtual CPLErr IReadBlock(
int,
int,
void * );
105 virtual CPLErr IWriteBlock(
int,
int,
void * );
106 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
112 virtual char **
GetMetadata(
const char * pszDomain );
114 const char * pszDomain );
116 const char * pszDomain );
118 const char * pszValue,
119 const char * pszDomain );
123 virtual double GetMinimum(
int *pbSuccess = NULL );
124 virtual double GetMaximum(
int *pbSuccess = NULL );
125 virtual double GetOffset(
int *pbSuccess = NULL );
126 virtual double GetScale(
int *pbSuccess = NULL );
130 virtual CPLErr
Fill(
double dfRealValue,
double dfImaginaryValue = 0);
141 double *pdfMin,
double *pdfMax,
142 double *pdfMean,
double *padfStdDev );
144 double *pdfMin,
double *pdfMax,
145 double *pdfMean,
double *pdfStdDev,
146 GDALProgressFunc,
void *pProgressData );
148 double dfMean,
double dfStdDev );
156 GDALProgressFunc,
void * );
158 virtual CPLErr
AdviseRead(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
159 int nBufXSize,
int nBufYSize,
162 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
163 int nBuckets,
int * panHistogram,
164 int bIncludeOutOfRange,
int bApproxOK,
165 GDALProgressFunc,
void *pProgressData );
168 int *pnBuckets,
int ** ppanHistogram,
170 GDALProgressFunc,
void *pProgressData);
172 int nBuckets,
int *panHistogram );
188 typedef struct _GDALProxyPoolCacheEntry GDALProxyPoolCacheEntry;
194 GIntBig responsiblePID;
196 char *pszProjectionRef;
197 double adfGeoTransform[6];
198 int bHasSrcProjection;
199 int bHasSrcGeoTransform;
200 char *pszGCPProjection;
203 CPLHashSet *metadataSet;
204 CPLHashSet *metadataItemSet;
206 GDALProxyPoolCacheEntry* cacheEntry;
210 virtual void UnrefUnderlyingDataset(
GDALDataset* poUnderlyingDataset);
216 int nRasterXSize,
int nRasterYSize,
219 const char * pszProjectionRef = NULL,
220 double * padfGeoTransform = NULL);
223 void AddSrcBandDescription(
GDALDataType eDataType,
int nBlockXSize,
int nBlockYSize);
234 virtual char **
GetMetadata(
const char * pszDomain );
236 const char * pszDomain );
254 CPLHashSet *metadataSet;
255 CPLHashSet *metadataItemSet;
257 char **papszCategoryNames;
260 int nSizeProxyOverviewRasterBand;
268 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
276 int nBlockXSize,
int nBlockYSize);
281 void AddSrcMaskBandDescription(
GDALDataType eDataType,
int nBlockXSize,
int nBlockYSize);
286 virtual char **
GetMetadata(
const char * pszDomain );
288 const char * pszDomain );
309 int nRefCountUnderlyingMainRasterBand;
313 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
333 int nRefCountUnderlyingMainRasterBand;
337 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
346 int nBlockXSize,
int nBlockYSize);
360 typedef struct GDALProxyPoolDatasetHS *GDALProxyPoolDatasetH;
362 GDALProxyPoolDatasetH CPL_DLL GDALProxyPoolDatasetCreate(
const char* pszSourceDatasetDescription,
363 int nRasterXSize,
int nRasterYSize,
365 const char * pszProjectionRef,
366 double * padfGeoTransform);
368 void CPL_DLL GDALProxyPoolDatasetDelete(GDALProxyPoolDatasetH hProxyPoolDataset);
370 void CPL_DLL GDALProxyPoolDatasetAddSrcBandDescription( GDALProxyPoolDatasetH hProxyPoolDataset,
372 int nBlockXSize,
int nBlockYSize);
Raster Attribute Table container.
Definition: gdal_rat.h:61
virtual GDALDriver * GetDriver(void)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:989
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:854
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:3253
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
GDALDataType
Definition: gdal.h:53
virtual double GetScale(int *pbSuccess=NULL)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2333
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4418
virtual double GetMaximum(int *pbSuccess=NULL)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1628
virtual double GetNoDataValue(int *pbSuccess=NULL)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1532
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1438
virtual void FlushCache(void)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:330
virtual const char * GetGCPProjection()
Get output projection for GCPs.
virtual CPLErr GetDefaultHistogram(double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3127
virtual CPLErr SetColorInterpretation(GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1844
virtual int HasArbitraryOverviews()
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:1985
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2065
virtual GDALRasterBand * GetRasterSampleOverview(int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2114
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:791
virtual CPLErr AdviseRead(int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eDT, int nBandCount, int *panBandList, char **papszOptions)
Advise driver of upcoming read requests.
Definition: gdaldataset.cpp:1924
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
virtual CPLErr SetGeoTransform(double *)
Set the affine transformation coefficients.
virtual GDALColorInterp GetColorInterpretation()
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1806
Definition: gdal_proxy.h:98
virtual CPLErr SetScale(double)
Set scaling ratio.
Definition: gdalrasterband.cpp:2376
virtual double GetOffset(int *pbSuccess=NULL)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2235
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:748
virtual char ** GetMetadata(const char *pszDomain)
Fetch metadata.
virtual GDALRasterBand * GetRasterSampleOverview(int)
Fetch best sampling overview.
GDALRWFlag
Definition: gdal.h:97
virtual CPLErr SetStatistics(double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:3852
virtual const GDALRasterAttributeTable * GetDefaultRAT()
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:4308
virtual int GetMaskFlags()
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:4607
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: gdalmajorobject.cpp:161
virtual CPLErr SetOffset(double)
Set scaling offset.
Definition: gdalrasterband.cpp:2278
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
virtual CPLErr BuildOverviews(const char *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdalrasterband.cpp:2191
virtual CPLErr SetGCPs(int nGCPCount, const GDAL_GCP *pasGCPList, const char *pszGCPProjection)
Assign GCPs.
Definition: gdaldataset.cpp:1293
virtual CPLErr ComputeStatistics(int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:3447
virtual void * GetInternalHandle(const char *)
Fetch a format specific internally meaningful handle.
virtual double GetMinimum(int *pbSuccess=NULL)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1720
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
virtual CPLErr FlushCache()
Flush raster data cache.
Definition: gdalrasterband.cpp:851
virtual CPLErr CreateMaskBand(int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:4665
virtual const GDAL_GCP * GetGCPs()
Fetch GCPs.
virtual CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4262
virtual CPLErr CreateMaskBand(int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2126
virtual CPLErr SetColorTable(GDALColorTable *)
Set the raster color table.
Definition: gdalrasterband.cpp:1936
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain="")
Fetch single metadata item.
Definition: gdalmajorobject.cpp:249
virtual const GDAL_GCP * GetGCPs()
Fetch GCPs.
Definition: gdaldataset.cpp:1239
virtual CPLErr SetGeoTransform(double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:907
Public (C callable) GDAL entry points.
Definition: gdal_proxy.h:44
Definition: gdal_proxy.h:191
virtual const char * GetUnitType()
Return raster unit type.
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: gdalmajorobject.cpp:204
virtual int GetGCPCount()
Get number of GCPs.
Definition: gdaldataset.cpp:1163
Definition: gdal_proxy.h:302
virtual CPLErr SetNoDataValue(double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1580
virtual CPLErr ComputeRasterMinMax(int, double *)
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:3920
virtual const char * GetUnitType()
Return raster unit type.
Definition: gdalrasterband.cpp:2423
Definition: gdal_proxy.h:327
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:1891
virtual char ** GetMetadata(const char *pszDomain)
Fetch metadata.
virtual char ** GetFileList(void)
Fetch files forming dataset.
Definition: gdaldataset.cpp:1999
virtual void * GetInternalHandle(const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:951
virtual const char * GetGCPProjection()
Get output projection for GCPs.
Definition: gdaldataset.cpp:1202
virtual CPLErr SetCategoryNames(char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1482
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2022
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
virtual CPLErr SetUnitType(const char *)
Set unit type.
Definition: gdalrasterband.cpp:2467
A single raster band (or channel).
Definition: gdal_priv.h:460
GDALAccess
Definition: gdal.h:91
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:249
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain)
Fetch single metadata item.
virtual CPLErr SetDefaultRAT(const GDALRasterAttributeTable *)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:4350
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain)
Fetch single metadata item.
GDALColorInterp
Definition: gdal.h:103
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition: gdalmajorobject.cpp:292
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdal_proxy.h:251
virtual CPLErr GetStatistics(int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3329
Format specific driver.
Definition: gdal_priv.h:679
virtual CPLErr GetHistogram(double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:2694
Definition: gdal_priv.h:432
virtual CPLErr Fill(double dfRealValue, double dfImaginaryValue=0)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1289
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
Ground Control Point.
Definition: gdal.h:253