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 );
58 virtual char **
GetMetadata(
const char * pszDomain );
60 const char * pszDomain );
62 const char * pszDomain );
64 const char * pszValue,
65 const char * pszDomain );
83 const char *pszGCPProjection );
85 virtual CPLErr
AdviseRead(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
86 int nBufXSize,
int nBufYSize,
88 int nBandCount,
int *panBandList,
89 char **papszOptions );
103 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
105 virtual CPLErr IReadBlock(
int,
int,
void * );
106 virtual CPLErr IWriteBlock(
int,
int,
void * );
107 virtual CPLErr IRasterIO(
GDALRWFlag,
int,
int,
int,
int,
114 virtual char **
GetMetadata(
const char * pszDomain );
116 const char * pszDomain );
118 const char * pszDomain );
120 const char * pszValue,
121 const char * pszDomain );
125 virtual double GetMinimum(
int *pbSuccess = NULL );
126 virtual double GetMaximum(
int *pbSuccess = NULL );
127 virtual double GetOffset(
int *pbSuccess = NULL );
128 virtual double GetScale(
int *pbSuccess = NULL );
132 virtual CPLErr
Fill(
double dfRealValue,
double dfImaginaryValue = 0);
143 double *pdfMin,
double *pdfMax,
144 double *pdfMean,
double *padfStdDev );
146 double *pdfMin,
double *pdfMax,
147 double *pdfMean,
double *pdfStdDev,
148 GDALProgressFunc,
void *pProgressData );
150 double dfMean,
double dfStdDev );
158 GDALProgressFunc,
void * );
160 virtual CPLErr
AdviseRead(
int nXOff,
int nYOff,
int nXSize,
int nYSize,
161 int nBufXSize,
int nBufYSize,
164 virtual CPLErr
GetHistogram(
double dfMin,
double dfMax,
165 int nBuckets,
int * panHistogram,
166 int bIncludeOutOfRange,
int bApproxOK,
167 GDALProgressFunc,
void *pProgressData );
170 int *pnBuckets,
int ** ppanHistogram,
172 GDALProgressFunc,
void *pProgressData);
174 int nBuckets,
int *panHistogram );
185 GIntBig *pnLineSpace,
186 char **papszOptions );
194 typedef struct _GDALProxyPoolCacheEntry GDALProxyPoolCacheEntry;
200 GIntBig responsiblePID;
202 char *pszProjectionRef;
203 double adfGeoTransform[6];
204 int bHasSrcProjection;
205 int bHasSrcGeoTransform;
206 char *pszGCPProjection;
209 CPLHashSet *metadataSet;
210 CPLHashSet *metadataItemSet;
212 GDALProxyPoolCacheEntry* cacheEntry;
216 virtual void UnrefUnderlyingDataset(
GDALDataset* poUnderlyingDataset);
222 int nRasterXSize,
int nRasterYSize,
225 const char * pszProjectionRef = NULL,
226 double * padfGeoTransform = NULL);
229 void AddSrcBandDescription(
GDALDataType eDataType,
int nBlockXSize,
int nBlockYSize);
240 virtual char **
GetMetadata(
const char * pszDomain );
242 const char * pszDomain );
260 CPLHashSet *metadataSet;
261 CPLHashSet *metadataItemSet;
263 char **papszCategoryNames;
266 int nSizeProxyOverviewRasterBand;
274 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
282 int nBlockXSize,
int nBlockYSize);
287 void AddSrcMaskBandDescription(
GDALDataType eDataType,
int nBlockXSize,
int nBlockYSize);
292 virtual char **
GetMetadata(
const char * pszDomain );
294 const char * pszDomain );
315 int nRefCountUnderlyingMainRasterBand;
319 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
339 int nRefCountUnderlyingMainRasterBand;
343 virtual void UnrefUnderlyingRasterBand(
GDALRasterBand* poUnderlyingRasterBand);
352 int nBlockXSize,
int nBlockYSize);
366 typedef struct GDALProxyPoolDatasetHS *GDALProxyPoolDatasetH;
368 GDALProxyPoolDatasetH CPL_DLL GDALProxyPoolDatasetCreate(
const char* pszSourceDatasetDescription,
369 int nRasterXSize,
int nRasterYSize,
371 const char * pszProjectionRef,
372 double * padfGeoTransform);
374 void CPL_DLL GDALProxyPoolDatasetDelete(GDALProxyPoolDatasetH hProxyPoolDataset);
376 void CPL_DLL GDALProxyPoolDatasetAddSrcBandDescription( GDALProxyPoolDatasetH hProxyPoolDataset,
378 int nBlockXSize,
int nBlockYSize);
The GDALRasterAttributeTable (or RAT) class is used to encapsulate a table used to provide attribute ...
Definition: gdal_rat.h:46
virtual GDALDriver * GetDriver(void)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:981
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:849
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:3280
virtual CPLVirtualMem * GetVirtualMemAuto(GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:5025
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
GDALDataType
Definition: gdal.h:55
virtual double GetScale(int *pbSuccess=NULL)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2337
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
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 FlushCache(void)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:331
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:3154
virtual CPLErr SetColorInterpretation(GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1847
virtual int HasArbitraryOverviews()
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:1988
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2068
virtual GDALRasterBand * GetRasterSampleOverview(int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2117
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:792
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:1948
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:1807
Definition: gdal_proxy.h:99
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
virtual char ** GetMetadata(const char *pszDomain)
Fetch metadata.
virtual GDALRasterBand * GetRasterSampleOverview(int)
Fetch best sampling overview.
GDALRWFlag
Definition: gdal.h:99
virtual CPLErr SetStatistics(double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:3878
virtual int GetMaskFlags()
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:4650
virtual GDALRasterAttributeTable * GetDefaultRAT()
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:4337
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: gdalmajorobject.cpp:243
virtual CPLErr SetOffset(double)
Set scaling offset.
Definition: gdalrasterband.cpp:2283
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:2194
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
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:60
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:1721
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
virtual CPLErr FlushCache()
Flush raster data cache.
Definition: gdalrasterband.cpp:850
virtual CPLErr CreateMaskBand(int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:4723
virtual const GDAL_GCP * GetGCPs()
Fetch GCPs.
virtual CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4290
virtual CPLErr CreateMaskBand(int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2161
virtual CPLErr SetColorTable(GDALColorTable *)
Set the raster color table.
Definition: gdalrasterband.cpp:1939
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
Public (C callable) GDAL entry points.
Definition: gdal_proxy.h:44
Definition: gdal_proxy.h:197
virtual const char * GetUnitType()
Return raster unit type.
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: gdalmajorobject.cpp:286
virtual int GetGCPCount()
Get number of GCPs.
Definition: gdaldataset.cpp:1155
Definition: gdal_proxy.h:308
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
Definition: gdal_proxy.h:333
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:1894
virtual char ** GetMetadata(const char *pszDomain)
Fetch metadata.
virtual char ** GetFileList(void)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2034
virtual void * GetInternalHandle(const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:944
virtual const char * GetGCPProjection()
Get output projection for GCPs.
Definition: gdaldataset.cpp:1194
virtual CPLErr SetCategoryNames(char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1485
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2025
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
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
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:254
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:4381
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain)
Fetch single metadata item.
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
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdal_proxy.h:257
virtual CPLErr GetStatistics(int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3355
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 char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:156
virtual CPLErr Fill(double dfRealValue, double dfImaginaryValue=0)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1290
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
Ground Control Point.
Definition: gdal.h:255