GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: gdal.h 25545 2013-01-25 17:55:47Z warmerdam $
3  *
4  * Project: GDAL Core
5  * Purpose: GDAL Core C/Public declarations.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 1998, 2002 Frank Warmerdam
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_H_INCLUDED
31 #define GDAL_H_INCLUDED
32 
39 #ifndef DOXYGEN_SKIP
40 #include "gdal_version.h"
41 #include "cpl_port.h"
42 #include "cpl_error.h"
43 #include "cpl_progress.h"
44 #endif
45 
46 /* -------------------------------------------------------------------- */
47 /* Significant constants. */
48 /* -------------------------------------------------------------------- */
49 
50 CPL_C_START
51 
53 typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5, GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9, GDT_CFloat32 = 10, GDT_CFloat64 = 11,
66  GDT_TypeCount = 12 /* maximum type # + 1 */
67 } GDALDataType;
68 
69 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType );
70 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
71 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
72 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
74 
78 typedef enum
79 {
80  GARIO_PENDING = 0,
81  GARIO_UPDATE = 1,
82  GARIO_ERROR = 2,
83  GARIO_COMPLETE = 3,
84  GARIO_TypeCount = 4
86 
87 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
88 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
89 
91 typedef enum { GA_ReadOnly = 0, GA_Update = 1
94 } GDALAccess;
95 
97 typedef enum { GF_Read = 0, GF_Write = 1
100 } GDALRWFlag;
101 
103 typedef enum
104 {
124 
125 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
126 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
127 
129 typedef enum
130 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
136 
138 
139 /* "well known" metadata items. */
140 
141 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
142 # define GDALMD_AOP_AREA "Area"
143 # define GDALMD_AOP_POINT "Point"
144 
145 /* -------------------------------------------------------------------- */
146 /* GDAL Specific error codes. */
147 /* */
148 /* error codes 100 to 299 reserved for GDAL. */
149 /* -------------------------------------------------------------------- */
150 #define CPLE_WrongFormat 200
151 
152 /* -------------------------------------------------------------------- */
153 /* Define handle types related to various internal classes. */
154 /* -------------------------------------------------------------------- */
155 
157 typedef void *GDALMajorObjectH;
158 
160 typedef void *GDALDatasetH;
161 
163 typedef void *GDALRasterBandH;
164 
166 typedef void *GDALDriverH;
167 
168 #ifndef DOXYGEN_SKIP
169 /* Deprecated / unused */
170 typedef void *GDALProjDefH;
171 #endif
172 
174 typedef void *GDALColorTableH;
175 
178 
180 typedef void *GDALAsyncReaderH;
181 
182 /* ==================================================================== */
183 /* Registration/driver related. */
184 /* ==================================================================== */
185 
186 #ifndef DOXYGEN_SKIP
187 /* Deprecated / unused */
188 typedef struct {
189  char *pszOptionName;
190  char *pszValueType; /* "boolean", "int", "float", "string",
191  "string-select" */
192  char *pszDescription;
193  char **papszOptions;
194 } GDALOptionDefinition;
195 #endif
196 
197 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
198 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
199 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
200 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
201 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
202 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
203 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
204 
205 #define GDAL_DCAP_CREATE "DCAP_CREATE"
206 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
207 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
208 
209 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
210 
211 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
212  const char *, int, int, int, GDALDataType,
213  char ** ) CPL_WARN_UNUSED_RESULT;
214 GDALDatasetH CPL_DLL CPL_STDCALL
215 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
216  int, char **, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
217 
218 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
219  char ** papszFileList );
220 GDALDatasetH CPL_DLL CPL_STDCALL
221 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
222 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
223 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
224 
225 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
226 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
227 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
228 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
229 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
230 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
231 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
232 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
233 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
234  const char * pszNewName,
235  const char * pszOldName );
236 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
237  const char * pszNewName,
238  const char * pszOldName);
239 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
240  char** papszCreationOptions);
241 
242 /* The following are deprecated */
243 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
244 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
245 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
246 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
247 
248 /* ==================================================================== */
249 /* GDAL_GCP */
250 /* ==================================================================== */
251 
253 typedef struct
254 {
256  char *pszId;
257 
259  char *pszInfo;
260 
262  double dfGCPPixel;
264  double dfGCPLine;
265 
267  double dfGCPX;
268 
270  double dfGCPY;
271 
273  double dfGCPZ;
274 } GDAL_GCP;
275 
276 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
277 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
278 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
279 
280 int CPL_DLL CPL_STDCALL
281 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
282  double *padfGeoTransform, int bApproxOK );
283 int CPL_DLL CPL_STDCALL
284 GDALInvGeoTransform( double *padfGeoTransformIn,
285  double *padfInvGeoTransformOut );
286 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
287  double *, double * );
288 
289 /* ==================================================================== */
290 /* major objects (dataset, and, driver, drivermanager). */
291 /* ==================================================================== */
292 
293 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
294 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **,
295  const char * );
296 const char CPL_DLL * CPL_STDCALL
297 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
298 CPLErr CPL_DLL CPL_STDCALL
299 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
300  const char * );
301 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
302 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
303 
304 /* ==================================================================== */
305 /* GDALDataset class ... normally this represents one file. */
306 /* ==================================================================== */
307 
308 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
309 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
310 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
311 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
312 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
313 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
314 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
315 
316 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
317  char **papszOptions );
318 
319 GDALAsyncReaderH CPL_DLL CPL_STDCALL
320 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
321  int nXSize, int nYSize,
322  void *pBuf, int nBufXSize, int nBufYSize,
323  GDALDataType eBufType, int nBandCount, int* panBandMap,
324  int nPixelSpace, int nLineSpace, int nBandSpace,
325  char **papszOptions);
326 
327 void CPL_DLL CPL_STDCALL
328 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
329 
330 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
331  GDALDatasetH hDS, GDALRWFlag eRWFlag,
332  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
333  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
334  int nBandCount, int *panBandCount,
335  int nPixelSpace, int nLineSpace, int nBandSpace);
336 
337 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
338  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
339  int nBXSize, int nBYSize, GDALDataType eBDataType,
340  int nBandCount, int *panBandCount, char **papszOptions );
341 
342 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
343 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
344 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
345 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
346 
347 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
348 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
349 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
350 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
351  const char * );
352 
353 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
354 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
355 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
356 
357 CPLErr CPL_DLL CPL_STDCALL
358 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
359  int, int *, GDALProgressFunc, void * );
360 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
361 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
362 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
363 
364 CPLErr CPL_DLL CPL_STDCALL
365  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
366 
367 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
368  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions,
369  GDALProgressFunc pfnProgress, void *pProgressData );
370 
371 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
372  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, char **papszOptions,
373  GDALProgressFunc pfnProgress, void *pProgressData );
374 
375 CPLErr CPL_DLL
377  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
378  const char *pszResampling,
379  GDALProgressFunc pfnProgress, void *pProgressData );
380 
381 /* ==================================================================== */
382 /* GDALRasterBand ... one band/channel in a dataset. */
383 /* ==================================================================== */
384 
389 #define SRCVAL(papoSource, eSrcType, ii) \
390  (eSrcType == GDT_Byte ? \
391  ((GByte *)papoSource)[ii] : \
392  (eSrcType == GDT_Float32 ? \
393  ((float *)papoSource)[ii] : \
394  (eSrcType == GDT_Float64 ? \
395  ((double *)papoSource)[ii] : \
396  (eSrcType == GDT_Int32 ? \
397  ((GInt32 *)papoSource)[ii] : \
398  (eSrcType == GDT_UInt16 ? \
399  ((GUInt16 *)papoSource)[ii] : \
400  (eSrcType == GDT_Int16 ? \
401  ((GInt16 *)papoSource)[ii] : \
402  (eSrcType == GDT_UInt32 ? \
403  ((GUInt32 *)papoSource)[ii] : \
404  (eSrcType == GDT_CInt16 ? \
405  ((GInt16 *)papoSource)[ii * 2] : \
406  (eSrcType == GDT_CInt32 ? \
407  ((GInt32 *)papoSource)[ii * 2] : \
408  (eSrcType == GDT_CFloat32 ? \
409  ((float *)papoSource)[ii * 2] : \
410  (eSrcType == GDT_CFloat64 ? \
411  ((double *)papoSource)[ii * 2] : 0)))))))))))
412 
413 typedef CPLErr
414 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
415  int nBufXSize, int nBufYSize,
416  GDALDataType eSrcType, GDALDataType eBufType,
417  int nPixelSpace, int nLineSpace);
418 
419 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
420 void CPL_DLL CPL_STDCALL
421 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
422 
423 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
424  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
425  int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions );
426 
427 CPLErr CPL_DLL CPL_STDCALL
428 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
429  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
430  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
431  int nPixelSpace, int nLineSpace );
432 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * );
433 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * );
434 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
435 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
436 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
437 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
438 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
439 
440 GDALColorInterp CPL_DLL CPL_STDCALL
442 CPLErr CPL_DLL CPL_STDCALL
445 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
446 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
447 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
448 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
449 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
450 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
451 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
452 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
453 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
454 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
455 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
456  GDALRasterBandH, int bApproxOK, int bForce,
457  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
458 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
459  GDALRasterBandH, int bApproxOK,
460  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
461  GDALProgressFunc pfnProgress, void *pProgressData );
462 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
463  GDALRasterBandH hBand,
464  double dfMin, double dfMax, double dfMean, double dfStdDev );
465 
466 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
467 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
468 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
469 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
470 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
471 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
472 void CPL_DLL CPL_STDCALL
473 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
474  double adfMinMax[2] );
475 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
476 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
477  double dfMin, double dfMax,
478  int nBuckets, int *panHistogram,
479  int bIncludeOutOfRange, int bApproxOK,
480  GDALProgressFunc pfnProgress,
481  void * pProgressData );
482 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
483  double *pdfMin, double *pdfMax,
484  int *pnBuckets, int **ppanHistogram,
485  int bForce,
486  GDALProgressFunc pfnProgress,
487  void * pProgressData );
488 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
489  double dfMin, double dfMax,
490  int nBuckets, int *panHistogram );
491 int CPL_DLL CPL_STDCALL
492 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
493 GDALRasterBandH CPL_DLL CPL_STDCALL
495 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
496  double dfRealValue, double dfImaginaryValue );
497 CPLErr CPL_DLL CPL_STDCALL
498 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
499  double *pdfMean, double *pdfStdDev,
500  GDALProgressFunc pfnProgress,
501  void *pProgressData );
502 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
503  int nOverviewCount,
504  GDALRasterBandH *pahOverviews,
505  GDALProgressFunc pfnProgress,
506  void *pProgressData );
507 
508 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
509  GDALRasterBandH hBand );
510 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
512 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
513  GDALDerivedPixelFunc pfnPixelFunc );
514 
515 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
516 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
517 CPLErr CPL_DLL CPL_STDCALL
518  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
519 
520 #define GMF_ALL_VALID 0x01
521 #define GMF_PER_DATASET 0x02
522 #define GMF_ALPHA 0x04
523 #define GMF_NODATA 0x08
524 
525 /* ==================================================================== */
526 /* GDALAsyncReader */
527 /* ==================================================================== */
528 
529 GDALAsyncStatusType CPL_DLL CPL_STDCALL
530 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
531  int* pnXBufOff, int* pnYBufOff,
532  int* pnXBufSize, int* pnYBufSize );
533 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
534  double dfTimeout);
535 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
536 
537 /* -------------------------------------------------------------------- */
538 /* Helper functions. */
539 /* -------------------------------------------------------------------- */
540 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
541  int nOptions );
542 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
543  int nWordSkip );
544 void CPL_DLL CPL_STDCALL
545  GDALCopyWords( void * pSrcData, GDALDataType eSrcType, int nSrcPixelOffset,
546  void * pDstData, GDALDataType eDstType, int nDstPixelOffset,
547  int nWordCount );
548 
549 void CPL_DLL
550 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
551  GByte *pabyDstData, int nDstOffset, int nDstStep,
552  int nBitCount, int nStepCount );
553 
554 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
555 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
556  double * );
557 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
558  double * );
559 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
560  int *, GDAL_GCP ** );
561 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
562  int *, GDAL_GCP ** );
563 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
564  int *, GDAL_GCP ** );
565 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char * , double *,
566  char **, int *, GDAL_GCP ** );
567 char CPL_DLL ** CPL_STDCALL GDALLoadRPBFile( const char *pszFilename,
568  char **papszSiblingFiles );
569 char CPL_DLL ** CPL_STDCALL GDALLoadRPCFile( const char *pszFilename,
570  char **papszSiblingFiles );
571 CPLErr CPL_DLL CPL_STDCALL GDALWriteRPBFile( const char *pszFilename,
572  char **papszMD );
573 char CPL_DLL ** CPL_STDCALL GDALLoadIMDFile( const char *pszFilename,
574  char **papszSiblingFiles );
575 CPLErr CPL_DLL CPL_STDCALL GDALWriteIMDFile( const char *pszFilename,
576  char **papszMD );
577 
578 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
579 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
580 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
581 
582 /* Note to developers : please keep this section in sync with ogr_core.h */
583 
584 #ifndef GDAL_VERSION_INFO_DEFINED
585 #define GDAL_VERSION_INFO_DEFINED
586 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
587 #endif
588 
589 #ifndef GDAL_CHECK_VERSION
590 
591 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
592  const char* pszCallingComponentName);
593 
597 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
598  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
599 
600 #endif
601 
602 typedef struct {
603  double dfLINE_OFF;
604  double dfSAMP_OFF;
605  double dfLAT_OFF;
606  double dfLONG_OFF;
607  double dfHEIGHT_OFF;
608 
609  double dfLINE_SCALE;
610  double dfSAMP_SCALE;
611  double dfLAT_SCALE;
612  double dfLONG_SCALE;
613  double dfHEIGHT_SCALE;
614 
615  double adfLINE_NUM_COEFF[20];
616  double adfLINE_DEN_COEFF[20];
617  double adfSAMP_NUM_COEFF[20];
618  double adfSAMP_DEN_COEFF[20];
619 
620  double dfMIN_LONG;
621  double dfMIN_LAT;
622  double dfMAX_LONG;
623  double dfMAX_LAT;
624 
625 } GDALRPCInfo;
626 
627 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( char **, GDALRPCInfo * );
628 
629 /* ==================================================================== */
630 /* Color tables. */
631 /* ==================================================================== */
632 
634 typedef struct
635 {
637  short c1;
638 
640  short c2;
641 
643  short c3;
644 
646  short c4;
648 
650 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
653 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
654 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
655 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
656 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
657 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
658  int nStartIndex, const GDALColorEntry *psStartColor,
659  int nEndIndex, const GDALColorEntry *psEndColor );
660 
661 /* ==================================================================== */
662 /* Raster Attribute Table */
663 /* ==================================================================== */
664 
666 typedef enum { GFT_Integer , GFT_Real, GFT_String
671 
673 typedef enum { GFU_Generic = 0, GFU_PixelCount = 1, GFU_Name = 2, GFU_Min = 3, GFU_Max = 4, GFU_MinMax = 5, GFU_Red = 6, GFU_Green = 7, GFU_Blue = 8, GFU_Alpha = 9, GFU_RedMin = 10, GFU_GreenMin = 11, GFU_BlueMin = 12, GFU_AlphaMin = 13, GFU_RedMax = 14, GFU_GreenMax = 15, GFU_BlueMax = 16, GFU_AlphaMax = 17, GFU_MaxCount
694 
695 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
697 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
699 
700 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
701 
702 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
704 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
706 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
708 
709 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
711 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
712 
713 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
714  GDALRasterAttributeTableH, int ,int);
715 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
716  GDALRasterAttributeTableH, int ,int);
717 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
718  GDALRasterAttributeTableH, int ,int);
719 
720 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
721  const char * );
722 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
723  int );
724 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
725  double );
726 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
727  int );
728 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
729  const char *,
732 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
733  double, double );
734 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
735  double *, double * );
736 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
739  GDALRasterAttributeTableH, int nEntryCount );
740 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
741  FILE * );
742 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
744 
745 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH , double );
746 
747 
748 /* ==================================================================== */
749 /* GDAL Cache Management */
750 /* ==================================================================== */
751 
752 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
753 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
754 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
755 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
756 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
757 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
758 
759 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
760 
761 CPL_C_END
762 
763 #endif /* ndef GDAL_H_INCLUDED */
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:645
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:380
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3397
Definition: gdal.h:113
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, char **papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:490
Definition: gdal.h:93
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:810
Definition: gdal.h:680
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpreation by symbolic name.
Definition: gdal_misc.cpp:576
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition: rasterio.cpp:2819
GDALDataType
Definition: gdal.h:53
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:3809
Definition: gdal.h:674
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2041
Definition: gdal.h:63
char * pszInfo
Informational message or "".
Definition: gdal.h:259
Definition: gdal.h:692
Definition: gdal.h:682
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:262
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:1873
Definition: gdal.h:686
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:73
Definition: gdal.h:668
Definition: gdal.h:114
Definition: gdal.h:55
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2163
Definition: gdal.h:132
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:359
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2299
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdaldataset.cpp:1409
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:182
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition: gdalcolortable.cpp:279
Core portability definitions for CPL.
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition: gdalcolortable.cpp:133
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:180
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:195
Definition: gdal.h:119
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition: gdal_rat.cpp:99
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1429
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:314
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:73
Definition: gdal.h:111
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2488
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:385
Definition: gdal.h:99
Definition: gdal.h:684
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1319
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4283
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:666
Definition: gdal.h:56
Definition: gdal.h:59
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:1190
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:498
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:764
CPLErr GDALAddDerivedBandPixelFunc(const char *pszName, GDALDerivedPixelFunc pfnPixelFunc)
This adds a pixel function to the global list of available pixel functions for derived bands...
Definition: vrtderivedrasterband.cpp:103
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2373
Definition: gdal.h:677
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition: gdalcolortable.cpp:62
Definition: gdal.h:690
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2397
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:1832
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:573
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2001
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:4324
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:4244
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:1865
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:547
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:215
Definition: gdal.h:688
CPLErr GDALDatasetRasterIO(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace)
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:1757
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1214
GDALRWFlag
Definition: gdal.h:97
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2148
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:160
Color tuple.
Definition: gdal.h:634
Definition: gdal.h:117
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:804
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:497
Definition: gdal.h:602
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:782
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:258
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1160
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:163
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1454
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:458
GDALRasterAttributeTableH GDALRATClone(GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:1679
Definition: gdal.h:54
Definition: gdal.h:679
Definition: gdal.h:675
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:1316
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:358
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:968
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:718
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:90
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4553
Definition: gdal.h:109
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:430
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:289
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK)
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:1923
short c1
Definition: gdal.h:637
CPLErr GDALSetMetadata(GDALMajorObjectH, char **, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:223
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:165
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:62
short c3
Definition: gdal.h:643
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:2630
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:442
Definition: gdal.h:65
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:312
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:1835
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1823
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:421
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:1723
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:270
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all raster band raster data.
Definition: rasterio.cpp:3066
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:1167
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:453
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:682
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1255
short c2
Definition: gdal.h:640
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1410
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:1869
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:292
GDALDriverH GDALIdentifyDriver(const char *pszFilename, char **papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1493
Definition: gdal.h:685
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:318
Definition: gdal.h:115
Definition: gdal.h:121
Definition: gdal.h:58
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:4699
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:416
Definition: gdal.h:107
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:1069
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:1546
Definition: gdal.h:687
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:943
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:78
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1552
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:707
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:89
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:140
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1102
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:1230
Definition: gdal.h:57
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1401
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:177
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:243
Definition: gdal.h:120
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:630
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:353
CPL error handling services.
Definition: gdal.h:108
CPLErr GDALDatasetAdviseRead(GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, char **papszOptions)
Advise driver of upcoming read requests.
Definition: gdaldataset.cpp:1963
int GDALValidateCreationOptions(GDALDriverH, char **papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1254
Definition: gdal.h:64
Definition: gdal.h:134
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2216
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1601
GDALPaletteInterp
Definition: gdal.h:129
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition: gdaltransformer.cpp:2656
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1781
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1503
Definition: gdal.h:691
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:236
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1179
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:854
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1138
Definition: gdal.h:683
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1218
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:4629
Definition: gdal.h:133
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:551
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:1907
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2439
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:880
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, char **) CPL_WARN_UNUSED_RESULT
Create a new dataset with this driver.
Definition: gdaldriver.cpp:245
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:1957
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:166
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:591
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:498
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:129
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:2447
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1043
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:157
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1005
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:944
Definition: gdal.h:61
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:589
CPLErr GDALRasterAdviseRead(GDALRasterBandH hRB, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions)
Advise driver of upcoming read requests.
Definition: gdalrasterband.cpp:3273
Definition: gdal.h:112
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:1653
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:256
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:540
CPLErr GDALGetRasterHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:3085
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1373
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:131
Definition: gdal.h:676
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:1117
Definition: gdal.h:110
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1495
GDALAccess
Definition: gdal.h:91
short c4
Definition: gdal.h:646
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2084
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2604
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:93
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1693
Definition: gdal.h:60
Definition: gdal.h:667
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:673
Definition: gdal.h:116
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:863
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:266
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:979
Definition: gdal.h:681
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:174
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:267
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2562
Definition: gdal.h:689
Definition: gdal.h:118
CPLErr GDALRasterIO(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nPixelSpace, int nLineSpace)
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:279
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:81
GDALColorInterp
Definition: gdal.h:103
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2352
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:928
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:715
Definition: gdal.h:122
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2153
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:264
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:2548
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2254
Definition: gdal.h:62
Definition: gdal.h:106
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:252
void GDALCopyBits(const GByte *pabySrcData, int nSrcOffset, int nSrcStep, GByte *pabyDstData, int nDstOffset, int nDstStep, int nBitCount, int nStepCount)
Bitwise word copying.
Definition: rasterio.cpp:2066
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:654
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:4370
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2091
Definition: gdal.h:92
void GDALCopyWords(void *pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *pDstData, GDALDataType eDstType, int nDstPixelOffset, int nWordCount)
Copy pixel words from buffer to buffer.
Definition: rasterio.cpp:1215
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1640
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:273
Definition: gdal.h:669
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:1889
Definition: gdal.h:131
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:3883
Ground Control Point.
Definition: gdal.h:253
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:352
CPLErr GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3192
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:232
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2645
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2525
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1082
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:331
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:202
Definition: gdal.h:678
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:178
Definition: gdal.h:98

Generated for GDAL by doxygen 1.8.7.