GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: gdal.h 29330 2015-06-14 12:11:11Z rouault $
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  * Copyright (c) 2007-2014, Even Rouault <even dot rouault at mines-paris dot org>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef GDAL_H_INCLUDED
32 #define GDAL_H_INCLUDED
33 
40 #ifndef DOXYGEN_SKIP
41 #include "gdal_version.h"
42 #include "cpl_port.h"
43 #include "cpl_error.h"
44 #include "cpl_progress.h"
45 #include "cpl_virtualmem.h"
46 #include "cpl_minixml.h"
47 #include "ogr_api.h"
48 #endif
49 
50 /* -------------------------------------------------------------------- */
51 /* Significant constants. */
52 /* -------------------------------------------------------------------- */
53 
54 CPL_C_START
55 
57 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,
70  GDT_TypeCount = 12 /* maximum type # + 1 */
71 } GDALDataType;
72 
73 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType );
74 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
75 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
76 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
78 
82 typedef enum
83 {
84  GARIO_PENDING = 0,
85  GARIO_UPDATE = 1,
86  GARIO_ERROR = 2,
87  GARIO_COMPLETE = 3,
88  GARIO_TypeCount = 4
90 
91 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
92 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
93 
95 typedef enum { GA_ReadOnly = 0, GA_Update = 1
98 } GDALAccess;
99 
101 typedef enum { GF_Read = 0, GF_Write = 1
104 } GDALRWFlag;
105 
106 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
110 typedef enum
121  /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
123 
124 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
125 /* and INIT_RASTERIO_EXTRA_ARG */
129 typedef struct
130 {
132  int nVersion;
133 
136 
138  GDALProgressFunc pfnProgress;
141 
148  double dfXOff;
150  double dfYOff;
152  double dfXSize;
154  double dfYSize;
156 
157 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
158 
162 #define INIT_RASTERIO_EXTRA_ARG(s) \
163  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
164  (s).eResampleAlg = GRIORA_NearestNeighbour; \
165  (s).pfnProgress = NULL; \
166  (s).pProgressData = NULL; \
167  (s).bFloatingPointWindowValidity = FALSE; } while(0)
168 
170 typedef enum
171 {
191 
192 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
193 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
194 
196 typedef enum
197 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
203 
205 
206 /* "well known" metadata items. */
207 
208 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
209 # define GDALMD_AOP_AREA "Area"
210 # define GDALMD_AOP_POINT "Point"
211 
212 /* -------------------------------------------------------------------- */
213 /* GDAL Specific error codes. */
214 /* */
215 /* error codes 100 to 299 reserved for GDAL. */
216 /* -------------------------------------------------------------------- */
217 #define CPLE_WrongFormat 200
218 
219 /* -------------------------------------------------------------------- */
220 /* Define handle types related to various internal classes. */
221 /* -------------------------------------------------------------------- */
222 
224 typedef void *GDALMajorObjectH;
225 
227 typedef void *GDALDatasetH;
228 
230 typedef void *GDALRasterBandH;
231 
233 typedef void *GDALDriverH;
234 
236 typedef void *GDALColorTableH;
237 
240 
242 typedef void *GDALAsyncReaderH;
243 
245 typedef GIntBig GSpacing;
246 
247 /* ==================================================================== */
248 /* Registration/driver related. */
249 /* ==================================================================== */
250 
252 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
253 
255 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
256 
258 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
259 
261 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
262 
267 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
268 
272 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
273 
275 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
276 
280 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
281 
283 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
284 
288 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
289 
291 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
292 
294 #define GDAL_DCAP_OPEN "DCAP_OPEN"
295 
297 #define GDAL_DCAP_CREATE "DCAP_CREATE"
298 
300 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
301 
303 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
304 
308 #define GDAL_DCAP_RASTER "DCAP_RASTER"
309 
313 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
314 
318 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
319 
323 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
324 
328 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
329 
330 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
331 
332 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
333  const char *, int, int, int, GDALDataType,
334  char ** ) CPL_WARN_UNUSED_RESULT;
335 GDALDatasetH CPL_DLL CPL_STDCALL
336 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
337  int, char **, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
338 
339 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
340  char ** papszFileList );
341 GDALDatasetH CPL_DLL CPL_STDCALL
342 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
343 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
344 
345 
346 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
347 /* equals to GA_ReadOnly and GA_Update */
348 
353 #define GDAL_OF_READONLY 0x00
354 
359 #define GDAL_OF_UPDATE 0x01
360 
365 #define GDAL_OF_ALL 0x00
366 
371 #define GDAL_OF_RASTER 0x02
372 
377 #define GDAL_OF_VECTOR 0x04
378 /* Some space for GDAL 3.0 new types ;-) */
379 /*#define GDAL_OF_OTHER_KIND1 0x08 */
380 /*#define GDAL_OF_OTHER_KIND2 0x10 */
381 #ifndef DOXYGEN_SKIP
382 #define GDAL_OF_KIND_MASK 0x1E
383 #endif
384 
389 #define GDAL_OF_SHARED 0x20
390 
395 #define GDAL_OF_VERBOSE_ERROR 0x40
396 
403 #define GDAL_OF_INTERNAL 0x80
404 
405 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
406  unsigned int nOpenFlags,
407  const char* const* papszAllowedDrivers,
408  const char* const* papszOpenOptions,
409  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
410 
411 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
412 
413 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
414 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
415 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
416 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
417 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
418 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
419 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
420 void CPL_DLL GDALDestroy( void );
421 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
422 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
423  const char * pszNewName,
424  const char * pszOldName );
425 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
426  const char * pszNewName,
427  const char * pszOldName);
428 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
429  char** papszCreationOptions);
430 
431 /* The following are deprecated */
432 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
433 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
434 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
435 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
436 
437 /* ==================================================================== */
438 /* GDAL_GCP */
439 /* ==================================================================== */
440 
442 typedef struct
443 {
445  char *pszId;
446 
448  char *pszInfo;
449 
451  double dfGCPPixel;
453  double dfGCPLine;
454 
456  double dfGCPX;
457 
459  double dfGCPY;
460 
462  double dfGCPZ;
463 } GDAL_GCP;
464 
465 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
466 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
467 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
468 
469 int CPL_DLL CPL_STDCALL
470 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
471  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
472 int CPL_DLL CPL_STDCALL
473 GDALInvGeoTransform( double *padfGeoTransformIn,
474  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
475 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
476  double *, double * );
477 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
478  const double *padfGeoTransform2,
479  double *padfGeoTransformOut);
480 
481 /* ==================================================================== */
482 /* major objects (dataset, and, driver, drivermanager). */
483 /* ==================================================================== */
484 
485 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
486 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
487 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **,
488  const char * );
489 const char CPL_DLL * CPL_STDCALL
490 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
491 CPLErr CPL_DLL CPL_STDCALL
492 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
493  const char * );
494 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
495 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
496 
497 /* ==================================================================== */
498 /* GDALDataset class ... normally this represents one file. */
499 /* ==================================================================== */
500 
501 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
502 
503 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
504 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
505 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
506 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
507 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
508 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
509 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
510 
511 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
512  char **papszOptions );
513 
514 GDALAsyncReaderH CPL_DLL CPL_STDCALL
515 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
516  int nXSize, int nYSize,
517  void *pBuf, int nBufXSize, int nBufYSize,
518  GDALDataType eBufType, int nBandCount, int* panBandMap,
519  int nPixelSpace, int nLineSpace, int nBandSpace,
520  char **papszOptions);
521 
522 void CPL_DLL CPL_STDCALL
523 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
524 
525 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
526  GDALDatasetH hDS, GDALRWFlag eRWFlag,
527  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
528  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
529  int nBandCount, int *panBandCount,
530  int nPixelSpace, int nLineSpace, int nBandSpace);
531 
532 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
533  GDALDatasetH hDS, GDALRWFlag eRWFlag,
534  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
535  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
536  int nBandCount, int *panBandCount,
537  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
538  GDALRasterIOExtraArg* psExtraArg);
539 
540 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
541  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
542  int nBXSize, int nBYSize, GDALDataType eBDataType,
543  int nBandCount, int *panBandCount, char **papszOptions );
544 
545 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
546 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
547 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
548 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
549 
550 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
551 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
552 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
553 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
554  const char * );
555 
556 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
557 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
558 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
559 
560 CPLErr CPL_DLL CPL_STDCALL
561 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
562  int, int *, GDALProgressFunc, void * );
563 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
564 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
565 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
566 
567 CPLErr CPL_DLL CPL_STDCALL
568  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
569 
570 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
571  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions,
572  GDALProgressFunc pfnProgress, void *pProgressData );
573 
574 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
575  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, char **papszOptions,
576  GDALProgressFunc pfnProgress, void *pProgressData );
577 
578 CPLErr CPL_DLL
580  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
581  const char *pszResampling,
582  GDALProgressFunc pfnProgress, void *pProgressData );
583 
584 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
585 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
586 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
587 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
588 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
589  OGRSpatialReferenceH, OGRwkbGeometryType,
590  char ** );
591 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
592  char ** );
593 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
594 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
595  OGRGeometryH, const char * );
596 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
597 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
598 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
599 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
600 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
601 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
602 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
603 
604 
605 /* ==================================================================== */
606 /* GDALRasterBand ... one band/channel in a dataset. */
607 /* ==================================================================== */
608 
613 #define SRCVAL(papoSource, eSrcType, ii) \
614  (eSrcType == GDT_Byte ? \
615  ((GByte *)papoSource)[ii] : \
616  (eSrcType == GDT_Float32 ? \
617  ((float *)papoSource)[ii] : \
618  (eSrcType == GDT_Float64 ? \
619  ((double *)papoSource)[ii] : \
620  (eSrcType == GDT_Int32 ? \
621  ((GInt32 *)papoSource)[ii] : \
622  (eSrcType == GDT_UInt16 ? \
623  ((GUInt16 *)papoSource)[ii] : \
624  (eSrcType == GDT_Int16 ? \
625  ((GInt16 *)papoSource)[ii] : \
626  (eSrcType == GDT_UInt32 ? \
627  ((GUInt32 *)papoSource)[ii] : \
628  (eSrcType == GDT_CInt16 ? \
629  ((GInt16 *)papoSource)[ii * 2] : \
630  (eSrcType == GDT_CInt32 ? \
631  ((GInt32 *)papoSource)[ii * 2] : \
632  (eSrcType == GDT_CFloat32 ? \
633  ((float *)papoSource)[ii * 2] : \
634  (eSrcType == GDT_CFloat64 ? \
635  ((double *)papoSource)[ii * 2] : 0)))))))))))
636 
637 typedef CPLErr
638 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
639  int nBufXSize, int nBufYSize,
640  GDALDataType eSrcType, GDALDataType eBufType,
641  int nPixelSpace, int nLineSpace);
642 
643 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
644 void CPL_DLL CPL_STDCALL
645 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
646 
647 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
648  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
649  int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions );
650 
651 CPLErr CPL_DLL CPL_STDCALL
652 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
653  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
654  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
655  int nPixelSpace, int nLineSpace );
656 CPLErr CPL_DLL CPL_STDCALL
657 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
658  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
659  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
660  GSpacing nPixelSpace, GSpacing nLineSpace,
661  GDALRasterIOExtraArg* psExtraArg );
662 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * );
663 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * );
664 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
665 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
666 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
667 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
668 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
669 
670 GDALColorInterp CPL_DLL CPL_STDCALL
672 CPLErr CPL_DLL CPL_STDCALL
675 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
676 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
677 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
678 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
679 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
680 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
681 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
682 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
683 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
684 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
685 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
686  GDALRasterBandH, int bApproxOK, int bForce,
687  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
688 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
689  GDALRasterBandH, int bApproxOK,
690  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
691  GDALProgressFunc pfnProgress, void *pProgressData );
692 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
693  GDALRasterBandH hBand,
694  double dfMin, double dfMax, double dfMean, double dfStdDev );
695 
696 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
697 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
698 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
699 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
700 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
701 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
702 void CPL_DLL CPL_STDCALL
703 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
704  double adfMinMax[2] );
705 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
706 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
707  double dfMin, double dfMax,
708  int nBuckets, int *panHistogram,
709  int bIncludeOutOfRange, int bApproxOK,
710  GDALProgressFunc pfnProgress,
711  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
712 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
713  double dfMin, double dfMax,
714  int nBuckets, GUIntBig *panHistogram,
715  int bIncludeOutOfRange, int bApproxOK,
716  GDALProgressFunc pfnProgress,
717  void * pProgressData );
718 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
719  double *pdfMin, double *pdfMax,
720  int *pnBuckets, int **ppanHistogram,
721  int bForce,
722  GDALProgressFunc pfnProgress,
723  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
724 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
725  double *pdfMin, double *pdfMax,
726  int *pnBuckets, GUIntBig **ppanHistogram,
727  int bForce,
728  GDALProgressFunc pfnProgress,
729  void * pProgressData );
730 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
731  double dfMin, double dfMax,
732  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
733 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
734  double dfMin, double dfMax,
735  int nBuckets, GUIntBig *panHistogram );
736 int CPL_DLL CPL_STDCALL
737 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
738 GDALRasterBandH CPL_DLL CPL_STDCALL
740 GDALRasterBandH CPL_DLL CPL_STDCALL
742 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
743  double dfRealValue, double dfImaginaryValue );
744 CPLErr CPL_DLL CPL_STDCALL
745 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
746  double *pdfMean, double *pdfStdDev,
747  GDALProgressFunc pfnProgress,
748  void *pProgressData );
749 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
750  int nOverviewCount,
751  GDALRasterBandH *pahOverviews,
752  GDALProgressFunc pfnProgress,
753  void *pProgressData );
754 
755 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
756  GDALRasterBandH hBand );
757 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
759 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
760  GDALDerivedPixelFunc pfnPixelFunc );
761 
762 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
763 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
764 CPLErr CPL_DLL CPL_STDCALL
765  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
766 
767 #define GMF_ALL_VALID 0x01
768 #define GMF_PER_DATASET 0x02
769 #define GMF_ALPHA 0x04
770 #define GMF_NODATA 0x08
771 
772 /* ==================================================================== */
773 /* GDALAsyncReader */
774 /* ==================================================================== */
775 
776 GDALAsyncStatusType CPL_DLL CPL_STDCALL
777 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
778  int* pnXBufOff, int* pnYBufOff,
779  int* pnXBufSize, int* pnYBufSize );
780 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
781  double dfTimeout);
782 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
783 
784 /* -------------------------------------------------------------------- */
785 /* Helper functions. */
786 /* -------------------------------------------------------------------- */
787 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
788  int nOptions );
789 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
790  int nWordSkip );
791 void CPL_DLL CPL_STDCALL
792  GDALCopyWords( void * pSrcData, GDALDataType eSrcType, int nSrcPixelOffset,
793  void * pDstData, GDALDataType eDstType, int nDstPixelOffset,
794  int nWordCount );
795 
796 void CPL_DLL
797 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
798  GByte *pabyDstData, int nDstOffset, int nDstStep,
799  int nBitCount, int nStepCount );
800 
801 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
802 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
803  double * );
804 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
805  double * );
806 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
807  int *, GDAL_GCP ** );
808 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
809  int *, GDAL_GCP ** );
810 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
811  int *, GDAL_GCP ** );
812 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char * , double *,
813  char **, int *, GDAL_GCP ** );
814 
815 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
816 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
817 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
818 
819 /* Note to developers : please keep this section in sync with ogr_core.h */
820 
821 #ifndef GDAL_VERSION_INFO_DEFINED
822 #define GDAL_VERSION_INFO_DEFINED
823 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
824 #endif
825 
826 #ifndef GDAL_CHECK_VERSION
827 
828 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
829  const char* pszCallingComponentName);
830 
834 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
835  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
836 
837 #endif
838 
839 typedef struct {
840  double dfLINE_OFF;
841  double dfSAMP_OFF;
842  double dfLAT_OFF;
843  double dfLONG_OFF;
844  double dfHEIGHT_OFF;
845 
846  double dfLINE_SCALE;
847  double dfSAMP_SCALE;
848  double dfLAT_SCALE;
849  double dfLONG_SCALE;
850  double dfHEIGHT_SCALE;
851 
852  double adfLINE_NUM_COEFF[20];
853  double adfLINE_DEN_COEFF[20];
854  double adfSAMP_NUM_COEFF[20];
855  double adfSAMP_DEN_COEFF[20];
856 
857  double dfMIN_LONG;
858  double dfMIN_LAT;
859  double dfMAX_LONG;
860  double dfMAX_LAT;
861 
862 } GDALRPCInfo;
863 
864 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( char **, GDALRPCInfo * );
865 
866 /* ==================================================================== */
867 /* Color tables. */
868 /* ==================================================================== */
869 
871 typedef struct
872 {
874  short c1;
875 
877  short c2;
878 
880  short c3;
881 
883  short c4;
885 
887 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
890 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
891 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
892 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
893 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
894 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
895  int nStartIndex, const GDALColorEntry *psStartColor,
896  int nEndIndex, const GDALColorEntry *psEndColor );
897 
898 /* ==================================================================== */
899 /* Raster Attribute Table */
900 /* ==================================================================== */
901 
903 typedef enum { GFT_Integer , GFT_Real, GFT_String
908 
910 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
931 
932 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
934 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
936 
937 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
938 
939 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
941 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
943 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
945 
946 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
948 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
949 
950 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
951  GDALRasterAttributeTableH, int ,int);
952 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
953  GDALRasterAttributeTableH, int ,int);
954 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
955  GDALRasterAttributeTableH, int ,int);
956 
957 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
958  const char * );
959 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
960  int );
961 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
962  double );
963 
964 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
965 
966 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
967  int iField, int iStartRow, int iLength, double *pdfData );
968 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
969  int iField, int iStartRow, int iLength, int *pnData);
970 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
971  int iField, int iStartRow, int iLength, char **papszStrList);
972 
973 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
974  int );
975 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
976  const char *,
979 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
980  double, double );
981 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
982  double *, double * );
983 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
986  GDALRasterAttributeTableH, int nEntryCount );
987 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
988  FILE * );
989 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
991 
992 void CPL_DLL* CPL_STDCALL
994 
995 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH , double );
996 
997 
998 /* ==================================================================== */
999 /* GDAL Cache Management */
1000 /* ==================================================================== */
1001 
1002 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1003 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1004 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1005 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1006 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1007 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1008 
1009 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1010 
1011 /* ==================================================================== */
1012 /* GDAL virtual memory */
1013 /* ==================================================================== */
1014 
1015 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1016  GDALRWFlag eRWFlag,
1017  int nXOff, int nYOff,
1018  int nXSize, int nYSize,
1019  int nBufXSize, int nBufYSize,
1020  GDALDataType eBufType,
1021  int nBandCount, int* panBandMap,
1022  int nPixelSpace,
1023  GIntBig nLineSpace,
1024  GIntBig nBandSpace,
1025  size_t nCacheSize,
1026  size_t nPageSizeHint,
1027  int bSingleThreadUsage,
1028  char **papszOptions );
1029 
1031  GDALRWFlag eRWFlag,
1032  int nXOff, int nYOff,
1033  int nXSize, int nYSize,
1034  int nBufXSize, int nBufYSize,
1035  GDALDataType eBufType,
1036  int nPixelSpace,
1037  GIntBig nLineSpace,
1038  size_t nCacheSize,
1039  size_t nPageSizeHint,
1040  int bSingleThreadUsage,
1041  char **papszOptions );
1042 
1044  GDALRWFlag eRWFlag,
1045  int *pnPixelSpace,
1046  GIntBig *pnLineSpace,
1047  char **papszOptions );
1048 
1049 typedef enum
1050 {
1058 
1059 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1060  GDALRWFlag eRWFlag,
1061  int nXOff, int nYOff,
1062  int nXSize, int nYSize,
1063  int nTileXSize, int nTileYSize,
1064  GDALDataType eBufType,
1065  int nBandCount, int* panBandMap,
1066  GDALTileOrganization eTileOrganization,
1067  size_t nCacheSize,
1068  int bSingleThreadUsage,
1069  char **papszOptions );
1070 
1072  GDALRWFlag eRWFlag,
1073  int nXOff, int nYOff,
1074  int nXSize, int nYSize,
1075  int nTileXSize, int nTileYSize,
1076  GDALDataType eBufType,
1077  size_t nCacheSize,
1078  int bSingleThreadUsage,
1079  char **papszOptions );
1080 
1081 /* =================================================================== */
1082 /* Misc API */
1083 /* ==================================================================== */
1084 
1085 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1086  char** papszOptions);
1087 
1088 CPL_C_END
1089 
1090 #endif /* ndef GDAL_H_INCLUDED */
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1467
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1259
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3735
Definition: gdal.h:180
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, char **papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:532
GDALDatasetH GDALOpenEx(const char *pszFilename, unsigned int nOpenFlags, const char *const *papszAllowedDrivers, const char *const *papszOpenOptions, const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT
Open a raster or vector file as a GDALDataset.
Definition: gdaldataset.cpp:2454
Definition: gdal.h:97
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:851
Definition: gdal.h:917
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpreation by symbolic name.
Definition: gdal_misc.cpp:578
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all dataset raster data.
Definition: rasterio.cpp:3528
GDALDataType
Definition: gdal.h:57
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:4154
Definition: gdal.h:911
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2195
Definition: gdal.h:67
char * pszInfo
Informational message or "".
Definition: gdal.h:448
Definition: gdal.h:929
Document node structure.
Definition: cpl_minixml.h:65
Definition: gdal.h:919
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:3157
Definitions for CPL mini XML Parser/Serializer.
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:451
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:1881
Definition: gdal.h:923
Definition: gdal.h:1056
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:75
Definition: gdal.h:905
Definition: gdal.h:181
Definition: gdal.h:59
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2306
Definition: gdal.h:199
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:365
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2481
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *)
Build raster overview(s)
Definition: gdaldataset.cpp:1444
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:183
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:4679
GDALColorTableH GDALCloneColorTable(GDALColorTableH)
Make a copy of a color table.
Definition: gdalcolortable.cpp:280
Core portability definitions for CPL.
const GDALColorEntry * GDALGetColorEntry(GDALColorTableH, int)
Fetch a color entry from table.
Definition: gdalcolortable.cpp:134
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:242
int bFloatingPointWindowValidity
Definition: gdal.h:146
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1127
Definition: gdal.h:186
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void)
Construct empty table.
Definition: gdal_rat.cpp:1039
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:941
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:315
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:58
Definition: gdal.h:178
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:1931
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2672
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:387
Definition: gdal.h:103
Definition: gdal.h:921
CPLErr GDALGetRasterHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead")
Compute raster histogram.
Definition: gdalrasterband.cpp:3294
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1354
CPLErr GDALDatasetRasterIOEx(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:1897
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:903
Definition: gdal.h:60
Definition: gdal.h:63
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:1342
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:532
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:806
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:104
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:3640
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2745
Definition: gdal.h:914
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp)
Construct a new color table.
Definition: gdalcolortable.cpp:63
Definition: gdal.h:927
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2581
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:3279
CPLVirtualMem * GDALDatasetGetTiledVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization, size_t nCacheSize, int bSingleThreadUsage, char **papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1432
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:1840
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1410
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2155
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:4722
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:4590
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2019
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:573
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, char **papszOptions)
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:1385
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:217
Definition: gdal.h:925
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:110
void * GDALRATSerializeJSON(GDALRasterAttributeTableH)
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:1927
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:1867
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1366
GDALRWFlag
Definition: gdal.h:101
int nVersion
Definition: gdal.h:132
CPLVirtualMem * GDALRasterBandGetVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, GIntBig nLineSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, char **papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalvirtualmem.cpp:1006
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2294
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:227
Color tuple.
Definition: gdal.h:871
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:5638
Definition: gdal.h:184
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:836
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1353
Definition: gdal.h:839
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1560
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:260
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1312
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:230
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, char **)
Duplicate an existing layer.
Definition: gdaldataset.cpp:3503
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1607
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:460
GDALRasterAttributeTableH GDALRATClone(GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:1909
Definition: gdal.h:58
Definition: gdal.h:916
Definition: gdal.h:912
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:828
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:400
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1004
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:760
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:91
Virtual memory management.
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:4963
Definition: gdal.h:176
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *)
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:483
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset. ...
Definition: gdal_rat.cpp:1724
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1191
Definition: gdal.h:1052
short c1
Definition: gdal.h:874
Definition: gdal.h:116
CPLErr GDALSetMetadata(GDALMajorObjectH, char **, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:305
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:205
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:102
short c3
Definition: gdal.h:880
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:60
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:3086
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:475
Definition: gdal.h:69
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:394
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:1966
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1975
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:423
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:1731
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, char **papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition: gdal_rat.cpp:257
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:459
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressData)
Copy all raster band raster data.
Definition: rasterio.cpp:3819
Definition: gdal.h:119
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:486
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:454
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:724
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1290
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:3223
short c2
Definition: gdal.h:877
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:3585
double dfXOff
Definition: gdal.h:148
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1561
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:245
CPLErr GDALGetRasterHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:3353
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:213
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2000
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:294
GDALDriverH GDALIdentifyDriver(const char *pszFilename, char **papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1802
Definition: gdal.h:922
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:327
Definition: gdal.h:182
Definition: gdal.h:188
Definition: gdal.h:62
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:5122
Definition: gdal.h:120
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1287
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:309
void * pProgressData
Definition: gdal.h:140
Definition: gdal.h:174
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:337
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:2161
Definition: gdal.h:924
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1005
Definition: gdal.h:1054
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:82
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1704
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:296
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:129
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1080
Definition: gdal.h:112
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1254
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:395
Definition: gdal.h:61
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1406
GDALProgressFunc pfnProgress
Definition: gdal.h:138
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:239
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:244
Definition: gdal.h:187
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:672
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:355
CPL error handling services.
double dfYSize
Definition: gdal.h:154
Definition: gdal.h:175
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:3308
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:2105
int GDALValidateCreationOptions(GDALDriverH, char **papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1406
Definition: gdal.h:68
Definition: gdal.h:201
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2204
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:129
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2360
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1753
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions)
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:5433
GDALPaletteInterp
Definition: gdal.h:196
CPLVirtualMem * GDALDatasetGetVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace, GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, char **papszOptions)
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:882
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1933
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1655
Definition: gdal.h:928
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1158
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1214
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1006
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1290
Definition: gdal.h:920
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1253
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:5041
Definition: gdal.h:200
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *)
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:609
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2061
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2623
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:916
CPLVirtualMem * GDALRasterBandGetTiledVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, size_t nCacheSize, int bSingleThreadUsage, char **papszOptions)
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1543
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:269
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2111
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:233
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:633
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:500
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:169
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:2771
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1079
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:3199
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:224
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1041
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1694
Definition: gdal.h:65
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:3251
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:649
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:3611
Definition: gdal.h:179
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
Set default histogram.
Definition: gdalrasterband.cpp:4638
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:1661
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:445
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1127
CPLErr GDALGetDefaultHistogram(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, int **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead")
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3467
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1524
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:132
Definition: gdal.h:113
Definition: gdal.h:913
Definition: gdal.h:115
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:443
Definition: gdal.h:177
GDALTileOrganization
Definition: gdal.h:1049
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1500
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2334
GDALAccess
Definition: gdal.h:95
short c4
Definition: gdal.h:883
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2238
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2788
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:94
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1845
Definition: gdal.h:64
Definition: gdal.h:904
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:910
Definition: gdal.h:183
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1627
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:348
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:1131
Definition: gdal.h:918
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:236
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:456
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2746
CPLErr GDALRATValuesIOAsDouble(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, double *pdfData)
Read or Write a block of doubles to/from the Attribute Table.
Definition: gdal_rat.cpp:139
Definition: gdal.h:926
Definition: gdal.h:185
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:5693
Definition: gdal.h:117
double dfXSize
Definition: gdal.h:152
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:301
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:86
GDALColorInterp
Definition: gdal.h:170
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2534
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:964
double dfYOff
Definition: gdal.h:150
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:836
Definition: gdal.h:189
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2312
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:453
CPLErr GDALGetDefaultHistogramEx(GDALRasterBandH hBand, double *pdfMin, double *pdfMax, int *pnBuckets, GUIntBig **ppanHistogram, int bForce, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch default raster histogram.
Definition: gdalrasterband.cpp:3530
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:2868
Definition: gdal.h:114
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2435
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:3112
Definition: gdal.h:66
Definition: gdal.h:173
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:3555
CPLErr GDALRasterIOEx(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg)
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:329
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:295
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:2653
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:716
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:3612
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:4769
OGRLayerH GDALDatasetCreateLayer(GDALDatasetH, const char *, OGRSpatialReferenceH, OGRwkbGeometryType, char **)
This function attempts to create a new layer on the dataset with the indicated name, coordinate system, geometry type.
Definition: gdaldataset.cpp:3458
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2234
CPLErr GDALRATValuesIOAsInteger(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, int *pnData)
Read or Write a block of ints to/from the Attribute Table.
Definition: gdal_rat.cpp:197
Definition: gdal.h:96
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:1802
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:994
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:462
Definition: gdal.h:906
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:135
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:1897
Definition: gdal.h:198
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:4228
Ground Control Point.
Definition: gdal.h:442
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:353
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:275
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2829
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2709
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:5740
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1118
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1223
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:245
Definition: gdal.h:915
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:260
Definition: gdal.h:102

Generated for GDAL by doxygen 1.8.8.