GDAL

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

gdal_proxy.h
1 /******************************************************************************
2 * $Id: gdal_proxy.h 33694 2016-03-10 17:54:30Z goatbar $
3 *
4 * Project: GDAL Core
5 * Purpose: GDAL Core C++/Private declarations
6 * Author: Even Rouault <even dot rouault at mines dash paris dot org>
7 *
8 ******************************************************************************
9 * Copyright (c) 2008-2014, Even Rouault <even dot rouault at mines-paris dot org>
10 *
11 * Permission is hereby granted, free of charge, to any person obtaining a
12 * copy of this software and associated documentation files (the "Software"),
13 * to deal in the Software without restriction, including without limitation
14 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15 * and/or sell copies of the Software, and to permit persons to whom the
16 * Software is furnished to do so, subject to the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be included
19 * in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27 * DEALINGS IN THE SOFTWARE.
28 ****************************************************************************/
29
30 #ifndef GDAL_PROXY_H_INCLUDED
31 #define GDAL_PROXY_H_INCLUDED
32
33 #include "gdal.h"
34
35 #ifdef __cplusplus
36
37 #include "gdal_priv.h"
38 #include "cpl_hash_set.h"
39
40 /* ******************************************************************** */
41 /* GDALProxyDataset */
42 /* ******************************************************************** */
43
44 class CPL_DLL GDALProxyDataset : public GDALDataset
45 {
46 protected:
47 GDALProxyDataset() {};
48
49 virtual GDALDataset *RefUnderlyingDataset() = 0;
50 virtual void UnrefUnderlyingDataset(GDALDataset* poUnderlyingDataset);
51
52 virtual CPLErr IBuildOverviews( const char *, int, int *,
53 int, int *, GDALProgressFunc, void * );
54 virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int,
55 void *, int, int, GDALDataType,
56 int, int *, GSpacing, GSpacing, GSpacing,
57 GDALRasterIOExtraArg* psExtraArg );
58 public:
59
60 virtual char **GetMetadataDomainList();
61 virtual char **GetMetadata( const char * pszDomain );
62 virtual CPLErr SetMetadata( char ** papszMetadata,
63 const char * pszDomain );
64 virtual const char *GetMetadataItem( const char * pszName,
65 const char * pszDomain );
66 virtual CPLErr SetMetadataItem( const char * pszName,
67 const char * pszValue,
68 const char * pszDomain );
69
70 virtual void FlushCache(void);
71
72 virtual const char *GetProjectionRef(void);
73 virtual CPLErr SetProjection( const char * );
74
75 virtual CPLErr GetGeoTransform( double * );
76 virtual CPLErr SetGeoTransform( double * );
77
78 virtual void *GetInternalHandle( const char * );
79 virtual GDALDriver *GetDriver(void);
80 virtual char **GetFileList(void);
81
82 virtual int GetGCPCount();
83 virtual const char *GetGCPProjection();
84 virtual const GDAL_GCP *GetGCPs();
85 virtual CPLErr SetGCPs( int nGCPCount, const GDAL_GCP *pasGCPList,
86 const char *pszGCPProjection );
87
88 virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize,
89 int nBufXSize, int nBufYSize,
90 GDALDataType eDT,
91 int nBandCount, int *panBandList,
92 char **papszOptions );
93
94 virtual CPLErr CreateMaskBand( int nFlags );
95
96 private:
97 CPL_DISALLOW_COPY_ASSIGN(GDALProxyDataset);
98 };
99
100 /* ******************************************************************** */
101 /* GDALProxyRasterBand */
102 /* ******************************************************************** */
103
104 class CPL_DLL GDALProxyRasterBand : public GDALRasterBand
105 {
106 protected:
107 GDALProxyRasterBand() {};
108
109 virtual GDALRasterBand* RefUnderlyingRasterBand() = 0;
110 virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand);
111
112 virtual CPLErr IReadBlock( int, int, void * );
113 virtual CPLErr IWriteBlock( int, int, void * );
114 virtual CPLErr IRasterIO( GDALRWFlag, int, int, int, int,
115 void *, int, int, GDALDataType,
116 GSpacing, GSpacing, GDALRasterIOExtraArg* psExtraArg );
117
118 public:
119
120 virtual char **GetMetadataDomainList();
121 virtual char **GetMetadata( const char * pszDomain );
122 virtual CPLErr SetMetadata( char ** papszMetadata,
123 const char * pszDomain );
124 virtual const char *GetMetadataItem( const char * pszName,
125 const char * pszDomain );
126 virtual CPLErr SetMetadataItem( const char * pszName,
127 const char * pszValue,
128 const char * pszDomain );
129 virtual CPLErr FlushCache();
130 virtual char **GetCategoryNames();
131 virtual double GetNoDataValue( int *pbSuccess = NULL );
132 virtual double GetMinimum( int *pbSuccess = NULL );
133 virtual double GetMaximum(int *pbSuccess = NULL );
134 virtual double GetOffset( int *pbSuccess = NULL );
135 virtual double GetScale( int *pbSuccess = NULL );
136 virtual const char *GetUnitType();
137 virtual GDALColorInterp GetColorInterpretation();
138 virtual GDALColorTable *GetColorTable();
139 virtual CPLErr Fill(double dfRealValue, double dfImaginaryValue = 0);
140
141 virtual CPLErr SetCategoryNames( char ** );
142 virtual CPLErr SetNoDataValue( double );
143 virtual CPLErr DeleteNoDataValue();
144 virtual CPLErr SetColorTable( GDALColorTable * );
145 virtual CPLErr SetColorInterpretation( GDALColorInterp );
146 virtual CPLErr SetOffset( double );
147 virtual CPLErr SetScale( double );
148 virtual CPLErr SetUnitType( const char * );
149
150 virtual CPLErr GetStatistics( int bApproxOK, int bForce,
151 double *pdfMin, double *pdfMax,
152 double *pdfMean, double *padfStdDev );
153 virtual CPLErr ComputeStatistics( int bApproxOK,
154 double *pdfMin, double *pdfMax,
155 double *pdfMean, double *pdfStdDev,
156 GDALProgressFunc, void *pProgressData );
157 virtual CPLErr SetStatistics( double dfMin, double dfMax,
158 double dfMean, double dfStdDev );
159 virtual CPLErr ComputeRasterMinMax( int, double* );
160
161 virtual int HasArbitraryOverviews();
162 virtual int GetOverviewCount();
163 virtual GDALRasterBand *GetOverview(int);
164 virtual GDALRasterBand *GetRasterSampleOverview( GUIntBig );
165 virtual CPLErr BuildOverviews( const char *, int, int *,
166 GDALProgressFunc, void * );
167
168 virtual CPLErr AdviseRead( int nXOff, int nYOff, int nXSize, int nYSize,
169 int nBufXSize, int nBufYSize,
170 GDALDataType eDT, char **papszOptions );
171
172 virtual CPLErr GetHistogram( double dfMin, double dfMax,
173 int nBuckets, GUIntBig * panHistogram,
174 int bIncludeOutOfRange, int bApproxOK,
175 GDALProgressFunc, void *pProgressData );
176
177 virtual CPLErr GetDefaultHistogram( double *pdfMin, double *pdfMax,
178 int *pnBuckets, GUIntBig ** ppanHistogram,
179 int bForce,
180 GDALProgressFunc, void *pProgressData);
181 virtual CPLErr SetDefaultHistogram( double dfMin, double dfMax,
182 int nBuckets, GUIntBig *panHistogram );
183
184 virtual GDALRasterAttributeTable *GetDefaultRAT();
185 virtual CPLErr SetDefaultRAT( const GDALRasterAttributeTable * );
186
187 virtual GDALRasterBand *GetMaskBand();
188 virtual int GetMaskFlags();
189 virtual CPLErr CreateMaskBand( int nFlags );
190
191 virtual CPLVirtualMem *GetVirtualMemAuto( GDALRWFlag eRWFlag,
192 int *pnPixelSpace,
193 GIntBig *pnLineSpace,
194 char **papszOptions );
195 private:
196 CPL_DISALLOW_COPY_ASSIGN(GDALProxyRasterBand);
197 };
198
199
200 /* ******************************************************************** */
201 /* GDALProxyPoolDataset */
202 /* ******************************************************************** */
203
204 typedef struct _GDALProxyPoolCacheEntry GDALProxyPoolCacheEntry;
205 class GDALProxyPoolRasterBand;
206
207 class CPL_DLL GDALProxyPoolDataset : public GDALProxyDataset
208 {
209 private:
210 GIntBig responsiblePID;
211
212 char *pszProjectionRef;
213 double adfGeoTransform[6];
214 int bHasSrcProjection;
215 int bHasSrcGeoTransform;
216 char *pszGCPProjection;
217 int nGCPCount;
218 GDAL_GCP *pasGCPList;
219 CPLHashSet *metadataSet;
220 CPLHashSet *metadataItemSet;
221
222 GDALProxyPoolCacheEntry* cacheEntry;
223
224 protected:
225 virtual GDALDataset *RefUnderlyingDataset();
226 virtual void UnrefUnderlyingDataset(GDALDataset* poUnderlyingDataset);
227
228 friend class GDALProxyPoolRasterBand;
229
230 public:
231 GDALProxyPoolDataset(const char* pszSourceDatasetDescription,
232 int nRasterXSize, int nRasterYSize,
233 GDALAccess eAccess = GA_ReadOnly,
234 int bShared = FALSE,
235 const char * pszProjectionRef = NULL,
236 double * padfGeoTransform = NULL);
237 ~GDALProxyPoolDataset();
238
239 void SetOpenOptions(char** papszOpenOptions);
240 void AddSrcBandDescription( GDALDataType eDataType, int nBlockXSize, int nBlockYSize);
241
242 virtual const char *GetProjectionRef(void);
243 virtual CPLErr SetProjection( const char * );
244
245 virtual CPLErr GetGeoTransform( double * );
246 virtual CPLErr SetGeoTransform( double * );
247
248 /* Special behaviour for the following methods : they return a pointer */
249 /* data type, that must be cached by the proxy, so it doesn't become invalid */
250 /* when the underlying object get closed */
251 virtual char **GetMetadata( const char * pszDomain );
252 virtual const char *GetMetadataItem( const char * pszName,
253 const char * pszDomain );
254
255 virtual void *GetInternalHandle( const char * pszRequest );
256
257 virtual const char *GetGCPProjection();
258 virtual const GDAL_GCP *GetGCPs();
259 private:
260 CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolDataset);
261 };
262
263 /* ******************************************************************** */
264 /* GDALProxyPoolRasterBand */
265 /* ******************************************************************** */
266
267 class GDALProxyPoolOverviewRasterBand;
268 class GDALProxyPoolMaskBand;
269
270 class CPL_DLL GDALProxyPoolRasterBand : public GDALProxyRasterBand
271 {
272 private:
273 CPLHashSet *metadataSet;
274 CPLHashSet *metadataItemSet;
275 char *pszUnitType;
276 char **papszCategoryNames;
277 GDALColorTable *poColorTable;
278
279 int nSizeProxyOverviewRasterBand;
280 GDALProxyPoolOverviewRasterBand **papoProxyOverviewRasterBand;
281 GDALProxyPoolMaskBand *poProxyMaskBand;
282
283 void Init();
284
285 protected:
286 virtual GDALRasterBand* RefUnderlyingRasterBand();
287 virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand);
288
289 friend class GDALProxyPoolOverviewRasterBand;
290 friend class GDALProxyPoolMaskBand;
291
292 public:
293 GDALProxyPoolRasterBand(GDALProxyPoolDataset* poDS, int nBand,
294 GDALDataType eDataType,
295 int nBlockXSize, int nBlockYSize);
296 GDALProxyPoolRasterBand(GDALProxyPoolDataset* poDS,
297 GDALRasterBand* poUnderlyingRasterBand);
298 ~GDALProxyPoolRasterBand();
299
300 void AddSrcMaskBandDescription( GDALDataType eDataType, int nBlockXSize, int nBlockYSize);
301
302 /* Special behaviour for the following methods : they return a pointer */
303 /* data type, that must be cached by the proxy, so it doesn't become invalid */
304 /* when the underlying object get closed */
305 virtual char **GetMetadata( const char * pszDomain );
306 virtual const char *GetMetadataItem( const char * pszName,
307 const char * pszDomain );
308 virtual char **GetCategoryNames();
309 virtual const char *GetUnitType();
310 virtual GDALColorTable *GetColorTable();
311 virtual GDALRasterBand *GetOverview(int);
312 virtual GDALRasterBand *GetRasterSampleOverview( GUIntBig nDesiredSamples); // TODO
313 virtual GDALRasterBand *GetMaskBand();
314 private:
315 CPL_DISALLOW_COPY_ASSIGN(GDALProxyPoolRasterBand);
316 };
317
318 /* ******************************************************************** */
319 /* GDALProxyPoolOverviewRasterBand */
320 /* ******************************************************************** */
321
322 class GDALProxyPoolOverviewRasterBand : public GDALProxyPoolRasterBand
323 {
324 private:
325 GDALProxyPoolRasterBand *poMainBand;
326 int nOverviewBand;
327
328 GDALRasterBand *poUnderlyingMainRasterBand;
329 int nRefCountUnderlyingMainRasterBand;
330
331 protected:
332 virtual GDALRasterBand* RefUnderlyingRasterBand();
333 virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand);
334
335 public:
336 GDALProxyPoolOverviewRasterBand(GDALProxyPoolDataset* poDS,
337 GDALRasterBand* poUnderlyingOverviewBand,
338 GDALProxyPoolRasterBand* poMainBand,
339 int nOverviewBand);
340 ~GDALProxyPoolOverviewRasterBand();
341 };
342
343 /* ******************************************************************** */
344 /* GDALProxyPoolMaskBand */
345 /* ******************************************************************** */
346
347 class GDALProxyPoolMaskBand : public GDALProxyPoolRasterBand
348 {
349 private:
350 GDALProxyPoolRasterBand *poMainBand;
351
352 GDALRasterBand *poUnderlyingMainRasterBand;
353 int nRefCountUnderlyingMainRasterBand;
354
355 protected:
356 virtual GDALRasterBand* RefUnderlyingRasterBand();
357 virtual void UnrefUnderlyingRasterBand(GDALRasterBand* poUnderlyingRasterBand);
358
359 public:
360 GDALProxyPoolMaskBand(GDALProxyPoolDataset* poDS,
361 GDALRasterBand* poUnderlyingMaskBand,
362 GDALProxyPoolRasterBand* poMainBand);
363 GDALProxyPoolMaskBand(GDALProxyPoolDataset* poDS,
364 GDALProxyPoolRasterBand* poMainBand,
365 GDALDataType eDataType,
366 int nBlockXSize, int nBlockYSize);
367 ~GDALProxyPoolMaskBand();
368 };
369
370 #endif
371
372
373 /* ******************************************************************** */
374 /* C types and methods declarations */
375 /* ******************************************************************** */
376
377
378 CPL_C_START
379
380 typedef struct GDALProxyPoolDatasetHS *GDALProxyPoolDatasetH;
381
382 GDALProxyPoolDatasetH CPL_DLL GDALProxyPoolDatasetCreate(const char* pszSourceDatasetDescription,
383 int nRasterXSize, int nRasterYSize,
384 GDALAccess eAccess, int bShared,
385 const char * pszProjectionRef,
386 double * padfGeoTransform);
387
388 void CPL_DLL GDALProxyPoolDatasetDelete(GDALProxyPoolDatasetH hProxyPoolDataset);
389
390 void CPL_DLL GDALProxyPoolDatasetAddSrcBandDescription( GDALProxyPoolDatasetH hProxyPoolDataset,
391 GDALDataType eDataType,
392 int nBlockXSize, int nBlockYSize);
393
394 CPL_C_END
395
396 #endif /* GDAL_PROXY_H_INCLUDED */
GDALRasterAttributeTable
The GDALRasterAttributeTable (or RAT) class is used to encapsulate a table used to provide attribute ...
Definition: gdal_rat.h:46
GDALDataset::GetDriver
virtual GDALDriver * GetDriver(void)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1038
GDALDataset::GetGeoTransform
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:903
GDALRasterBand::AdviseRead
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:3390
GDALProxyDataset::GetGeoTransform
virtual CPLErr GetGeoTransform(double *)
Fetch the affine transformation coefficients.
GDALDataType
GDALDataType
Definition: gdal.h:57
GDALRasterBand::GetScale
virtual double GetScale(int *pbSuccess=NULL)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2317
GDALRasterBand::GetMaskBand
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4618
GDALRasterBand::GetMaximum
virtual double GetMaximum(int *pbSuccess=NULL)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1589
GDALRasterBand::GetNoDataValue
virtual double GetNoDataValue(int *pbSuccess=NULL)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1428
GDALRasterBand::GetCategoryNames
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1335
GDALDataset::FlushCache
virtual void FlushCache(void)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:374
GDALProxyDataset::GetGCPProjection
virtual const char * GetGCPProjection()
Get output projection for GCPs.
GDALRasterBand::SetColorInterpretation
virtual CPLErr SetColorInterpretation(GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1807
GDALRasterBand::HasArbitraryOverviews
virtual int HasArbitraryOverviews()
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:1948
GDALRasterBand::GetOverview
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2028
GDALRasterBand::GetDefaultHistogram
virtual CPLErr GetDefaultHistogram(double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3198
GDALDataset::SetProjection
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:846
gdal_priv.h
C++ GDAL entry points.
GDALDataset::AdviseRead
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:2218
GDALProxyDataset::SetProjection
virtual CPLErr SetProjection(const char *)
Set the projection reference string for this dataset.
GDALProxyDataset::SetGeoTransform
virtual CPLErr SetGeoTransform(double *)
Set the affine transformation coefficients.
GDALRasterBand::GetColorInterpretation
virtual GDALColorInterp GetColorInterpretation()
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1767
GDALProxyRasterBand
Definition: gdal_proxy.h:104
GDALRasterBand::SetScale
virtual CPLErr SetScale(double)
Set scaling ratio.
Definition: gdalrasterband.cpp:2362
GDALProxyRasterBand::GetRasterSampleOverview
virtual GDALRasterBand * GetRasterSampleOverview(GUIntBig)
Fetch best sampling overview.
GDALRasterBand::GetOffset
virtual double GetOffset(int *pbSuccess=NULL)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2218
GDALDataset::GetProjectionRef
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:803
GDALProxyDataset::GetMetadata
virtual char ** GetMetadata(const char *pszDomain)
Fetch metadata.
GDALRWFlag
GDALRWFlag
Definition: gdal.h:104
GDALRasterBand::SetStatistics
virtual CPLErr SetStatistics(double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:3997
GDALRasterBand::GetMaskFlags
virtual int GetMaskFlags()
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:4852
GDALRasterBand::GetDefaultRAT
virtual GDALRasterAttributeTable * GetDefaultRAT()
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:4505
GDALMajorObject::GetMetadata
virtual char ** GetMetadata(const char *pszDomain="")
Fetch metadata.
Definition: gdalmajorobject.cpp:243
GDALRasterBand::SetOffset
virtual CPLErr SetOffset(double)
Set scaling offset.
Definition: gdalrasterband.cpp:2263
GDALRasterBand::GetHistogram
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
GDALProxyRasterBand::GetOverview
virtual GDALRasterBand * GetOverview(int)
Fetch overview raster band object.
cpl_hash_set.h
Hash set implementation.
GDALRasterBand::BuildOverviews
virtual CPLErr BuildOverviews(const char *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdalrasterband.cpp:2180
GDALDataset::SetGCPs
virtual CPLErr SetGCPs(int nGCPCount, const GDAL_GCP *pasGCPList, const char *pszGCPProjection)
Assign GCPs.
Definition: gdaldataset.cpp:1341
GDALRasterBand::ComputeStatistics
virtual CPLErr ComputeStatistics(int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:3585
CPLVirtualMem
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:60
GDALProxyDataset::GetInternalHandle
virtual void * GetInternalHandle(const char *)
Fetch a format specific internally meaningful handle.
GDALRasterBand::GetMinimum
virtual double GetMinimum(int *pbSuccess=NULL)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1681
GDALProxyRasterBand::GetCategoryNames
virtual char ** GetCategoryNames()
Fetch the list of category names for this raster.
GDALRasterBand::FlushCache
virtual CPLErr FlushCache()
Flush raster data cache.
Definition: gdalrasterband.cpp:849
GDALProxyDataset::GetGCPs
virtual const GDAL_GCP * GetGCPs()
Fetch GCPs.
GSpacing
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:248
GDALRasterBand::SetDefaultHistogram
virtual CPLErr SetDefaultHistogram(double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4410
GDALRasterBand::SetColorTable
virtual CPLErr SetColorTable(GDALColorTable *)
Set the raster color table.
Definition: gdalrasterband.cpp:1899
GDALMajorObject::GetMetadataItem
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain="")
Fetch single metadata item.
Definition: gdalmajorobject.cpp:331
GDALDataset::GetGCPs
virtual const GDAL_GCP * GetGCPs()
Fetch GCPs.
Definition: gdaldataset.cpp:1287
GDALDataset::SetGeoTransform
virtual CPLErr SetGeoTransform(double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:956
gdal.h
Public (C callable) GDAL entry points.
GDALProxyDataset
Definition: gdal_proxy.h:44
GDALRasterBand::DeleteNoDataValue
virtual CPLErr DeleteNoDataValue()
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1539
GDALProxyPoolDataset
Definition: gdal_proxy.h:207
GDALProxyRasterBand::GetUnitType
virtual const char * GetUnitType()
Return raster unit type.
GDALMajorObject::SetMetadata
virtual CPLErr SetMetadata(char **papszMetadata, const char *pszDomain="")
Set metadata.
Definition: gdalmajorobject.cpp:286
GDALDataset::GetGCPCount
virtual int GetGCPCount()
Get number of GCPs.
Definition: gdaldataset.cpp:1211
GDALProxyPoolOverviewRasterBand
Definition: gdal_proxy.h:322
GDALRasterBand::SetNoDataValue
virtual CPLErr SetNoDataValue(double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1483
GDALRasterBand::ComputeRasterMinMax
virtual CPLErr ComputeRasterMinMax(int, double *)
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:4065
GDALRasterIOExtraArg
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:132
GDALRasterBand::GetUnitType
virtual const char * GetUnitType()
Return raster unit type.
Definition: gdalrasterband.cpp:2409
GDALProxyPoolMaskBand
Definition: gdal_proxy.h:347
GDALRasterBand::GetColorTable
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:1854
GDALProxyRasterBand::GetMetadata
virtual char ** GetMetadata(const char *pszDomain)
Fetch metadata.
GDALDataset::CreateMaskBand
virtual CPLErr CreateMaskBand(int nFlagsIn)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2431
GDALDataset::GetFileList
virtual char ** GetFileList(void)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2303
GDALDataset::GetInternalHandle
virtual void * GetInternalHandle(const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1000
GDALDataset::GetGCPProjection
virtual const char * GetGCPProjection()
Get output projection for GCPs.
Definition: gdaldataset.cpp:1250
GDALRasterBand::SetCategoryNames
virtual CPLErr SetCategoryNames(char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1379
GDALRasterBand::GetOverviewCount
virtual int GetOverviewCount()
Return the number of overview layers available.
Definition: gdalrasterband.cpp:1985
GDALRasterBand::GetVirtualMemAuto
virtual CPLVirtualMem * GetVirtualMemAuto(GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:5229
GDALProxyRasterBand::GetMaskBand
virtual GDALRasterBand * GetMaskBand()
Return the mask band associated with the band.
GDALRasterBand::SetUnitType
virtual CPLErr SetUnitType(const char *)
Set unit type.
Definition: gdalrasterband.cpp:2453
GDALRasterBand
A single raster band (or channel).
Definition: gdal_priv.h:735
GDALAccess
GDALAccess
Definition: gdal.h:98
GDALRasterBand::CreateMaskBand
virtual CPLErr CreateMaskBand(int nFlagsIn)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:4925
GDALDataset
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:296
GDALProxyDataset::GetMetadataItem
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain)
Fetch single metadata item.
GDALRasterBand::SetDefaultRAT
virtual CPLErr SetDefaultRAT(const GDALRasterAttributeTable *)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:4549
GDALRasterBand::GetRasterSampleOverview
virtual GDALRasterBand * GetRasterSampleOverview(GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2078
GDALProxyRasterBand::GetMetadataItem
virtual const char * GetMetadataItem(const char *pszName, const char *pszDomain)
Fetch single metadata item.
GDALColorInterp
GDALColorInterp
Definition: gdal.h:173
GDALMajorObject::SetMetadataItem
virtual CPLErr SetMetadataItem(const char *pszName, const char *pszValue, const char *pszDomain="")
Set single metadata item.
Definition: gdalmajorobject.cpp:374
GDALProxyRasterBand::GetColorTable
virtual GDALColorTable * GetColorTable()
Fetch the color table associated with band.
GDALProxyPoolRasterBand
Definition: gdal_proxy.h:270
GDALRasterBand::GetStatistics
virtual CPLErr GetStatistics(int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *padfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3467
GA_ReadOnly
Definition: gdal.h:99
GDALDriver
Format specific driver.
Definition: gdal_priv.h:1034
GDALColorTable
Definition: gdal_priv.h:659
GDALMajorObject::GetMetadataDomainList
virtual char ** GetMetadataDomainList()
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:156
GDALRasterBand::Fill
virtual CPLErr Fill(double dfRealValue, double dfImaginaryValue=0)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1191
GDALProxyDataset::GetProjectionRef
virtual const char * GetProjectionRef(void)
Fetch the projection definition string for this dataset.
GDAL_GCP
Ground Control Point.
Definition: gdal.h:492

Generated for GDAL by 1.8.8.