GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: gdal.h 38423 2017-05-16 19:17:08Z 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 
55 
57 typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5,
64  /* TODO?(#6879): GDT_UInt64 */
65  /* TODO?(#6879): GDT_Int64 */ GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
70  /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
73  GDT_TypeCount = 12 /* maximum type # + 1 */
74 } GDALDataType;
75 
76 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated.
77 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
78 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
79 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
80 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
81 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
82 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
83 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
85 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
86 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
87 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
88 double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
90 
94 typedef enum
95 {
96  GARIO_PENDING = 0,
97  GARIO_UPDATE = 1,
98  GARIO_ERROR = 2,
99  GARIO_COMPLETE = 3,
100  GARIO_TypeCount = 4
102 
103 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
104 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
105 
107 typedef enum { GA_ReadOnly = 0, GA_Update = 1
110 } GDALAccess;
111 
113 typedef enum { GF_Read = 0, GF_Write = 1
116 } GDALRWFlag;
117 
118 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
122 typedef enum
133  /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
135 
136 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
137 /* and INIT_RASTERIO_EXTRA_ARG */
141 typedef struct
142 {
144  int nVersion;
145 
148 
150  GDALProgressFunc pfnProgress;
153 
160  double dfXOff;
162  double dfYOff;
164  double dfXSize;
166  double dfYSize;
168 
169 #ifndef DOXYGEN_SKIP
170 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
171 #endif
172 
176 #define INIT_RASTERIO_EXTRA_ARG(s) \
177  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
178  (s).eResampleAlg = GRIORA_NearestNeighbour; \
179  (s).pfnProgress = NULL; \
180  (s).pProgressData = NULL; \
181  (s).bFloatingPointWindowValidity = FALSE; } while(0)
182 
184 typedef enum
185 {
205 
206 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
207 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
208 
210 typedef enum
211 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
217 
219 
220 /* "well known" metadata items. */
221 
224 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
225 
227 # define GDALMD_AOP_AREA "Area"
228 
230 # define GDALMD_AOP_POINT "Point"
231 
232 /* -------------------------------------------------------------------- */
233 /* GDAL Specific error codes. */
234 /* */
235 /* error codes 100 to 299 reserved for GDAL. */
236 /* -------------------------------------------------------------------- */
237 #ifndef DOXYGEN_SKIP
238 #define CPLE_WrongFormat (CPLErrorNum)200
239 #endif
240 
241 /* -------------------------------------------------------------------- */
242 /* Define handle types related to various internal classes. */
243 /* -------------------------------------------------------------------- */
244 
246 typedef void *GDALMajorObjectH;
247 
249 typedef void *GDALDatasetH;
250 
252 typedef void *GDALRasterBandH;
253 
255 typedef void *GDALDriverH;
256 
258 typedef void *GDALColorTableH;
259 
262 
264 typedef void *GDALAsyncReaderH;
265 
268 
269 /* ==================================================================== */
270 /* Registration/driver related. */
271 /* ==================================================================== */
272 
274 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
275 
277 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
278 
280 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
281 
283 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
284 
289 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
290 
294 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
295 
297 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
298 
302 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
303 
305 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
306 
310 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
311 
313 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
314 
316 #define GDAL_DCAP_OPEN "DCAP_OPEN"
317 
326 #define GDAL_DCAP_CREATE "DCAP_CREATE"
327 
336 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
337 
339 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
340 
344 #define GDAL_DCAP_RASTER "DCAP_RASTER"
345 
349 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
350 
354 #define GDAL_DCAP_GNM "DCAP_GNM"
355 
359 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
360 
364 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
365 
369 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
370 
371 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
372 
373 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
374  const char *, int, int, int, GDALDataType,
375  char ** ) CPL_WARN_UNUSED_RESULT;
376 GDALDatasetH CPL_DLL CPL_STDCALL
377 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
378  int, char **, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
379 
380 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
381  char ** papszFileList );
382 
383 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
384  const char *pszFilename, unsigned int nIdentifyFlags,
385  const char *const *papszAllowedDrivers, const char *const *papszFileList);
386 
387 GDALDatasetH CPL_DLL CPL_STDCALL
388 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
389 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
390 
391 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
392 /* equals to GA_ReadOnly and GA_Update */
393 
398 #define GDAL_OF_READONLY 0x00
399 
404 #define GDAL_OF_UPDATE 0x01
405 
410 #define GDAL_OF_ALL 0x00
411 
416 #define GDAL_OF_RASTER 0x02
417 
422 #define GDAL_OF_VECTOR 0x04
423 
428 #define GDAL_OF_GNM 0x08
429 
430 /* Some space for GDAL 3.0 new types ;-) */
431 /*#define GDAL_OF_OTHER_KIND1 0x08 */
432 /*#define GDAL_OF_OTHER_KIND2 0x10 */
433 #ifndef DOXYGEN_SKIP
434 #define GDAL_OF_KIND_MASK 0x1E
435 #endif
436 
441 #define GDAL_OF_SHARED 0x20
442 
447 #define GDAL_OF_VERBOSE_ERROR 0x40
448 
455 #define GDAL_OF_INTERNAL 0x80
456 
466 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
467 
476 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
477 
486 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
487 
488 #ifndef DOXYGEN_SKIP
489 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
490  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
491 #define GDAL_OF_RESERVED_1 0x300
492 
494 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
495 #endif
496 
497 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
498  unsigned int nOpenFlags,
499  const char* const* papszAllowedDrivers,
500  const char* const* papszOpenOptions,
501  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
502 
503 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
504 
505 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
506 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
507 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
508 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
509 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
510 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
511 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
512 #ifndef DOXYGEN_SKIP
513 void CPL_DLL GDALDestroy( void );
514 #endif
515 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
516 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
517  const char * pszNewName,
518  const char * pszOldName );
519 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
520  const char * pszNewName,
521  const char * pszOldName);
522 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
523  char** papszCreationOptions);
524 
525 /* The following are deprecated */
526 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
527 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
528 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
529 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
530 
531 /* ==================================================================== */
532 /* GDAL_GCP */
533 /* ==================================================================== */
534 
536 typedef struct
537 {
539  char *pszId;
540 
542  char *pszInfo;
543 
545  double dfGCPPixel;
547  double dfGCPLine;
548 
550  double dfGCPX;
551 
553  double dfGCPY;
554 
556  double dfGCPZ;
557 } GDAL_GCP;
558 
559 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
560 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
561 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
562 
563 int CPL_DLL CPL_STDCALL
564 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
565  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
566 int CPL_DLL CPL_STDCALL
567 GDALInvGeoTransform( double *padfGeoTransformIn,
568  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
569 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
570  double *, double * );
571 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
572  const double *padfGeoTransform2,
573  double *padfGeoTransformOut);
574 
575 /* ==================================================================== */
576 /* major objects (dataset, and, driver, drivermanager). */
577 /* ==================================================================== */
578 
579 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
580 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
581 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **,
582  const char * );
583 const char CPL_DLL * CPL_STDCALL
584 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
585 CPLErr CPL_DLL CPL_STDCALL
586 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
587  const char * );
588 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
589 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
590 
591 /* ==================================================================== */
592 /* GDALDataset class ... normally this represents one file. */
593 /* ==================================================================== */
594 
596 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
597 
598 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
599 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
600 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
601 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
602 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
603 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
604 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
605 
606 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
607  char **papszOptions );
608 
609 GDALAsyncReaderH CPL_DLL CPL_STDCALL
610 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
611  int nXSize, int nYSize,
612  void *pBuf, int nBufXSize, int nBufYSize,
613  GDALDataType eBufType, int nBandCount, int* panBandMap,
614  int nPixelSpace, int nLineSpace, int nBandSpace,
615  char **papszOptions) CPL_WARN_UNUSED_RESULT;
616 
617 void CPL_DLL CPL_STDCALL
618 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
619 
620 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
621  GDALDatasetH hDS, GDALRWFlag eRWFlag,
622  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
623  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
624  int nBandCount, int *panBandCount,
625  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
626 
627 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
628  GDALDatasetH hDS, GDALRWFlag eRWFlag,
629  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
630  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
631  int nBandCount, int *panBandCount,
632  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
634 
635 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
636  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
637  int nBXSize, int nBYSize, GDALDataType eBDataType,
638  int nBandCount, int *panBandCount, char **papszOptions );
639 
640 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
641 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
642 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
643 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
644 
645 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
646 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
647 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
648 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
649  const char * );
650 
651 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
652 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
653 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
654 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
655 
656 CPLErr CPL_DLL CPL_STDCALL
657 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
658  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
659 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
660 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
661 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
662 
663 CPLErr CPL_DLL CPL_STDCALL
664  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
665 
666 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
667  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions,
668  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
669 
670 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
671  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
672  const char * const * constpapszOptions,
673  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
674 
675 CPLErr CPL_DLL
677  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
678  const char *pszResampling,
679  GDALProgressFunc pfnProgress, void *pProgressData );
680 
681 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
682 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
683 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
684 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
685 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
687  char ** );
688 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
689  char ** );
690 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
691 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature( GDALDatasetH hDS,
692  OGRLayerH* phBelongingLayer,
693  double* pdfProgressPct,
694  GDALProgressFunc pfnProgress,
695  void* pProgressData );
696 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
697 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
698  OGRGeometryH, const char * );
699 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
700 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
701 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
702 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
703 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
704 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
705 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
706 
707 /* ==================================================================== */
708 /* GDALRasterBand ... one band/channel in a dataset. */
709 /* ==================================================================== */
710 
715 #define SRCVAL(papoSource, eSrcType, ii) \
716  (eSrcType == GDT_Byte ? \
717  ((GByte *)papoSource)[ii] : \
718  (eSrcType == GDT_Float32 ? \
719  ((float *)papoSource)[ii] : \
720  (eSrcType == GDT_Float64 ? \
721  ((double *)papoSource)[ii] : \
722  (eSrcType == GDT_Int32 ? \
723  ((GInt32 *)papoSource)[ii] : \
724  (eSrcType == GDT_UInt16 ? \
725  ((GUInt16 *)papoSource)[ii] : \
726  (eSrcType == GDT_Int16 ? \
727  ((GInt16 *)papoSource)[ii] : \
728  (eSrcType == GDT_UInt32 ? \
729  ((GUInt32 *)papoSource)[ii] : \
730  (eSrcType == GDT_CInt16 ? \
731  ((GInt16 *)papoSource)[ii * 2] : \
732  (eSrcType == GDT_CInt32 ? \
733  ((GInt32 *)papoSource)[ii * 2] : \
734  (eSrcType == GDT_CFloat32 ? \
735  ((float *)papoSource)[ii * 2] : \
736  (eSrcType == GDT_CFloat64 ? \
737  ((double *)papoSource)[ii * 2] : 0)))))))))))
738 
741 typedef CPLErr
742 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
743  int nBufXSize, int nBufYSize,
744  GDALDataType eSrcType, GDALDataType eBufType,
745  int nPixelSpace, int nLineSpace);
746 
747 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
748 void CPL_DLL CPL_STDCALL
749 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
750 
751 CPLErr CPL_DLL CPL_STDCALL
752 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
753  int *pnXValid, int *pnYValid );
754 
755 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
756  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
757  int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions );
758 
759 CPLErr CPL_DLL CPL_STDCALL
760 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
761  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
762  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
763  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
764 CPLErr CPL_DLL CPL_STDCALL
765 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
766  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
767  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
768  GSpacing nPixelSpace, GSpacing nLineSpace,
770 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
771 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
772 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
773 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
774 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
775 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
776 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
777 
778 GDALColorInterp CPL_DLL CPL_STDCALL
779 GDALGetRasterColorInterpretation( GDALRasterBandH );
780 CPLErr CPL_DLL CPL_STDCALL
782 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );
783 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
784 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
785 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
786 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
787 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
788 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
789 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
790 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
791 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
792 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
793 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
794 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
795  GDALRasterBandH, int bApproxOK, int bForce,
796  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
797 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
798  GDALRasterBandH, int bApproxOK,
799  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
800  GDALProgressFunc pfnProgress, void *pProgressData );
801 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
802  GDALRasterBandH hBand,
803  double dfMin, double dfMax, double dfMean, double dfStdDev );
804 
805 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
806 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
807 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
808 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
809 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
810 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
811 void CPL_DLL CPL_STDCALL
812 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
813  double adfMinMax[2] );
814 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
815 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
816  double dfMin, double dfMax,
817  int nBuckets, int *panHistogram,
818  int bIncludeOutOfRange, int bApproxOK,
819  GDALProgressFunc pfnProgress,
820  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
821 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
822  double dfMin, double dfMax,
823  int nBuckets, GUIntBig *panHistogram,
824  int bIncludeOutOfRange, int bApproxOK,
825  GDALProgressFunc pfnProgress,
826  void * pProgressData );
827 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
828  double *pdfMin, double *pdfMax,
829  int *pnBuckets, int **ppanHistogram,
830  int bForce,
831  GDALProgressFunc pfnProgress,
832  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
833 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
834  double *pdfMin, double *pdfMax,
835  int *pnBuckets, GUIntBig **ppanHistogram,
836  int bForce,
837  GDALProgressFunc pfnProgress,
838  void * pProgressData );
839 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
840  double dfMin, double dfMax,
841  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
842 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
843  double dfMin, double dfMax,
844  int nBuckets, GUIntBig *panHistogram );
845 int CPL_DLL CPL_STDCALL
846 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
847 GDALRasterBandH CPL_DLL CPL_STDCALL
848 GDALGetRasterSampleOverview( GDALRasterBandH, int );
849 GDALRasterBandH CPL_DLL CPL_STDCALL
850 GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig );
851 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
852  double dfRealValue, double dfImaginaryValue );
853 CPLErr CPL_DLL CPL_STDCALL
854 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
855  double *pdfMean, double *pdfStdDev,
856  GDALProgressFunc pfnProgress,
857  void *pProgressData );
858 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
859  int nOverviewCount,
860  GDALRasterBandH *pahOverviews,
861  GDALProgressFunc pfnProgress,
862  void *pProgressData );
863 
864 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
865  GDALRasterBandH hBand );
866 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
868 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
869  GDALDerivedPixelFunc pfnPixelFunc );
870 
871 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
872 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
873 CPLErr CPL_DLL CPL_STDCALL
874  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
875 
877 #define GMF_ALL_VALID 0x01
878 
880 #define GMF_PER_DATASET 0x02
881 
883 #define GMF_ALPHA 0x04
884 
886 #define GMF_NODATA 0x08
887 
891 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
892 
897 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
898 
904 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
905 
906 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
907  int nXOff, int nYOff,
908  int nXSize, int nYSize,
909  int nMaskFlagStop,
910  double* pdfDataPct );
911 
912 /* ==================================================================== */
913 /* GDALAsyncReader */
914 /* ==================================================================== */
915 
916 GDALAsyncStatusType CPL_DLL CPL_STDCALL
917 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
918  int* pnXBufOff, int* pnYBufOff,
919  int* pnXBufSize, int* pnYBufSize );
920 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
921  double dfTimeout);
922 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
923 
924 /* -------------------------------------------------------------------- */
925 /* Helper functions. */
926 /* -------------------------------------------------------------------- */
927 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
928  int nOptions );
929 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
930  int nWordSkip );
931 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
932  int nWordSkip );
933 
934 void CPL_DLL CPL_STDCALL
935  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
936  GDALDataType eSrcType, int nSrcPixelOffset,
937  void * CPL_RESTRICT pDstData,
938  GDALDataType eDstType, int nDstPixelOffset,
939  int nWordCount );
940 
941 void CPL_DLL
942 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
943  GByte *pabyDstData, int nDstOffset, int nDstStep,
944  int nBitCount, int nStepCount );
945 
946 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
947 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
948  double * );
949 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
950  double * );
951 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
952  int *, GDAL_GCP ** );
953 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
954  int *, GDAL_GCP ** );
955 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
956  int *, GDAL_GCP ** );
957 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
958  char **, int *, GDAL_GCP ** );
959 
960 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
961 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
962 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
963 
964 /* Note to developers : please keep this section in sync with ogr_core.h */
965 
966 #ifndef GDAL_VERSION_INFO_DEFINED
967 #ifndef DOXYGEN_SKIP
968 #define GDAL_VERSION_INFO_DEFINED
969 #endif
970 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
971 #endif
972 
973 #ifndef GDAL_CHECK_VERSION
974 
975 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
976  const char* pszCallingComponentName);
977 
981 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
982  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
983 
984 #endif
985 
988 typedef struct
989 {
990  double dfLINE_OFF;
991  double dfSAMP_OFF;
992  double dfLAT_OFF;
993  double dfLONG_OFF;
994  double dfHEIGHT_OFF;
996  double dfLINE_SCALE;
997  double dfSAMP_SCALE;
998  double dfLAT_SCALE;
999  double dfLONG_SCALE;
1002  double adfLINE_NUM_COEFF[20];
1003  double adfLINE_DEN_COEFF[20];
1004  double adfSAMP_NUM_COEFF[20];
1005  double adfSAMP_DEN_COEFF[20];
1007  double dfMIN_LONG;
1008  double dfMIN_LAT;
1009  double dfMAX_LONG;
1010  double dfMAX_LAT;
1011 } GDALRPCInfo;
1012 
1013 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( char **, GDALRPCInfo * );
1014 
1015 /* ==================================================================== */
1016 /* Color tables. */
1017 /* ==================================================================== */
1018 
1020 typedef struct
1021 {
1023  short c1;
1024 
1026  short c2;
1027 
1029  short c3;
1030 
1032  short c4;
1033 } GDALColorEntry;
1034 
1035 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT;
1036 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1037 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1038 GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH );
1039 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1040 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1041 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1042 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1043 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1044  int nStartIndex, const GDALColorEntry *psStartColor,
1045  int nEndIndex, const GDALColorEntry *psEndColor );
1046 
1047 /* ==================================================================== */
1048 /* Raster Attribute Table */
1049 /* ==================================================================== */
1050 
1057 
1059 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
1080 
1081 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1082  GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT;
1083 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1084  GDALRasterAttributeTableH );
1085 
1086 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1087 
1088 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1089  GDALRasterAttributeTableH, int );
1090 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1091  GDALRasterAttributeTableH, int );
1092 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1093  GDALRasterAttributeTableH, int );
1094 
1095 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1097 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1098 
1099 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1100  GDALRasterAttributeTableH, int, int);
1101 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1102  GDALRasterAttributeTableH, int, int);
1103 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1104  GDALRasterAttributeTableH, int, int);
1105 
1106 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1107  const char * );
1108 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1109  int );
1110 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1111  double );
1112 
1113 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1114 
1115 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1116  int iField, int iStartRow, int iLength, double *pdfData );
1117 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1118  int iField, int iStartRow, int iLength, int *pnData);
1119 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1120  int iField, int iStartRow, int iLength, char **papszStrList);
1121 
1122 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1123  int );
1124 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
1125  const char *,
1127  GDALRATFieldUsage );
1128 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
1129  double, double );
1130 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1131  double *, double * );
1132 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1133  GDALRasterAttributeTableH, GDALColorTableH );
1134 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1135  GDALRasterAttributeTableH, int nEntryCount );
1136 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1137  FILE * );
1138 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1139  GDALRATClone( GDALRasterAttributeTableH );
1140 
1141 void CPL_DLL* CPL_STDCALL
1142  GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT;
1143 
1144 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1145 
1146 /* ==================================================================== */
1147 /* GDAL Cache Management */
1148 /* ==================================================================== */
1149 
1150 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1151 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1152 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1153 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1154 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1155 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1156 
1157 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1158 
1159 /* ==================================================================== */
1160 /* GDAL virtual memory */
1161 /* ==================================================================== */
1162 
1163 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1164  GDALRWFlag eRWFlag,
1165  int nXOff, int nYOff,
1166  int nXSize, int nYSize,
1167  int nBufXSize, int nBufYSize,
1168  GDALDataType eBufType,
1169  int nBandCount, int* panBandMap,
1170  int nPixelSpace,
1171  GIntBig nLineSpace,
1172  GIntBig nBandSpace,
1173  size_t nCacheSize,
1174  size_t nPageSizeHint,
1175  int bSingleThreadUsage,
1176  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1177 
1178 CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1179  GDALRWFlag eRWFlag,
1180  int nXOff, int nYOff,
1181  int nXSize, int nYSize,
1182  int nBufXSize, int nBufYSize,
1183  GDALDataType eBufType,
1184  int nPixelSpace,
1185  GIntBig nLineSpace,
1186  size_t nCacheSize,
1187  size_t nPageSizeHint,
1188  int bSingleThreadUsage,
1189  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1190 
1191 CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1192  GDALRWFlag eRWFlag,
1193  int *pnPixelSpace,
1194  GIntBig *pnLineSpace,
1195  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1196 
1198 typedef enum
1199 {
1207 
1208 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1209  GDALRWFlag eRWFlag,
1210  int nXOff, int nYOff,
1211  int nXSize, int nYSize,
1212  int nTileXSize, int nTileYSize,
1213  GDALDataType eBufType,
1214  int nBandCount, int* panBandMap,
1215  GDALTileOrganization eTileOrganization,
1216  size_t nCacheSize,
1217  int bSingleThreadUsage,
1218  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1219 
1220 CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1221  GDALRWFlag eRWFlag,
1222  int nXOff, int nYOff,
1223  int nXSize, int nYSize,
1224  int nTileXSize, int nTileYSize,
1225  GDALDataType eBufType,
1226  size_t nCacheSize,
1227  int bSingleThreadUsage,
1228  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1229 
1230 /* ==================================================================== */
1231 /* VRTPansharpenedDataset class. */
1232 /* ==================================================================== */
1233 
1234 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1235  GDALRasterBandH hPanchroBand,
1236  int nInputSpectralBands,
1237  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1238 
1239 /* =================================================================== */
1240 /* Misc API */
1241 /* ==================================================================== */
1242 
1243 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1244  char** papszOptions) CPL_WARN_UNUSED_RESULT;
1245 
1246 CPL_C_END
1247 
1248 #endif /* ndef GDAL_H_INCLUDED */
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1572
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1358
CPLErr GDALGetRasterStatistics(GDALRasterBandH, int bApproxOK, int bForce, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev)
Fetch image statistics.
Definition: gdalrasterband.cpp:3816
Definition: gdal.h:194
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:497
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, char **papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:604
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:2662
Definition: gdal.h:109
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:915
double dfMIN_LAT
Definition: gdal.h:1008
Definition: gdal.h:1066
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:894
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:580
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:5237
Definition: gdal.h:1060
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2206
Definition: gdal.h:69
char * pszInfo
Informational message or "".
Definition: gdal.h:542
Definition: gdal.h:1078
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:735
Document node structure.
Definition: cpl_minixml.h:66
Definition: gdal.h:1068
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:3613
Definitions for CPL mini XML Parser/Serializer.
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:545
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2254
Definition: gdal.h:1072
Definition: gdal.h:1205
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:135
Definition: gdal.h:1054
Definition: gdal.h:195
Definition: gdal.h:59
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2510
Definition: gdal.h:213
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2237
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:390
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2494
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition: gdal_misc.cpp:599
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:184
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp:5779
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:135
void * GDALAsyncReaderH
Opaque type used for the C bindings of the C++ GDALAsyncReader class.
Definition: gdal.h:264
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:352
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1659
int bFloatingPointWindowValidity
Definition: gdal.h:158
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1671
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1196
Definition: gdal.h:200
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1014
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:317
GDALDriverH GDALIdentifyDriverEx(const char *pszFilename, unsigned int nIdentifyFlags, const char *const *papszAllowedDrivers, const char *const *papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1923
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
Definition: gdal.h:192
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2305
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2693
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:701
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT
Create a virtual pansharpened dataset.
Definition: vrtpansharpened.cpp:93
void * GDALRATSerializeJSON(GDALRasterAttributeTableH) CPL_WARN_UNUSED_RESULT
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:2054
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Build raster overview(s)
Definition: gdaldataset.cpp:1534
Definition: gdal.h:115
Definition: gdal.h:1070
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:1040
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:3337
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1438
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:409
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1052
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:1387
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:562
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:869
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:1016
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4070
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3015
Definition: gdal.h:1063
Definition: gdal.h:1076
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2598
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, char **papszOptions) CPL_WARN_UNUSED_RESULT
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:1414
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:3694
double dfLONG_SCALE
Definition: gdal.h:999
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2213
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1513
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2166
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:5823
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5687
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2027
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:606
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:377
Definition: gdal.h:1074
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:122
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1412
GDALRWFlag
Definition: gdal.h:113
double dfMIN_LONG
Definition: gdal.h:1007
int nVersion
Definition: gdal.h:144
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2676
CPLErr(* GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData, int nBufXSize, int nBufYSize, GDALDataType eSrcType, GDALDataType eBufType, int nPixelSpace, int nLineSpace)
Type of functions to pass to GDALAddDerivedBandPixelFunc.
Definition: gdal.h:742
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:249
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:810
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
Color tuple.
Definition: gdal.h:1020
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:6549
Definition: gdal.h:198
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:879
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1454
Strucutre to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:988
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1678
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:395
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1356
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:252
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, char **)
Duplicate an existing layer.
Definition: gdaldataset.cpp:3929
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1537
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:775
GDALRasterAttributeTableH GDALRATClone(GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:2035
CPLErr GDALRasterBandCopyWholeRaster(GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand, const char *const *constpapszOptions, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT
Copy all raster band raster data.
Definition: rasterio.cpp:4244
Definition: gdal.h:58
Definition: gdal.h:1065
Definition: gdal.h:1061
double dfHEIGHT_SCALE
Definition: gdal.h:1000
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:908
double dfMAX_LAT
Definition: gdal.h:1010
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:474
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1072
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:827
const char * GDALGetDescription(GDALMajorObjectH)
Fetch object description.
Definition: gdalmajorobject.cpp:95
Virtual memory management.
GDALRasterBandH GDALGetMaskBand(GDALRasterBandH hBand)
Return the mask band associated with the band.
Definition: gdalrasterband.cpp:6116
Definition: gdal.h:190
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset. ...
Definition: gdal_rat.cpp:1849
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1277
Definition: gdal.h:1201
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalvirtualmem.cpp:1078
short c1
Definition: gdal.h:1023
Definition: gdal.h:128
CPLErr GDALSetMetadata(GDALMajorObjectH, char **, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:236
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:117
short c3
Definition: gdal.h:1029
struct CPLVirtualMem CPLVirtualMem
Opaque type that represents a virtual memory mapping.
Definition: cpl_virtualmem.h:62
void GDALApplyGeoTransform(double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition: gdaltransformer.cpp:3195
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:504
Definition: gdal.h:72
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:415
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:2205
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1978
double dfLAT_OFF
Definition: gdal.h:992
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:736
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2096
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating?
Definition: gdal_misc.cpp:422
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:288
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:6637
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:553
Definition: gdal.h:131
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:548
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:447
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition: gdal_misc.cpp:1102
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:794
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1378
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:3637
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:671
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1848
short c2
Definition: gdal.h:1026
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4012
double dfXOff
Definition: gdal.h:160
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1491
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:267
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:3403
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2238
double dfHEIGHT_OFF
Definition: gdal.h:994
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:480
GDALDriverH GDALIdentifyDriver(const char *pszFilename, char **papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1874
Definition: gdal.h:1071
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:352
Definition: gdal.h:196
Definition: gdal.h:202
Definition: gdal.h:62
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6295
Definition: gdal.h:132
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1387
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3535
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:180
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:314
void * pProgressData
Definition: gdal.h:152
Definition: gdal.h:188
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:377
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:2570
Definition: gdal.h:1073
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1219
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1054
Definition: gdal.h:1203
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:94
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1638
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:331
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:143
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1148
Definition: gdal.h:124
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1297
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:455
Definition: gdal.h:61
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1774
GDALProgressFunc pfnProgress
Definition: gdal.h:150
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:261
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
Definition: gdal.h:201
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:742
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:541
CPL error handling services.
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:69
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp) CPL_WARN_UNUSED_RESULT
Construct a new color table.
Definition: gdalcolortable.cpp:69
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition: gdaldefaultasync.cpp:176
double dfYSize
Definition: gdal.h:166
Definition: gdal.h:189
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:3724
double dfLONG_OFF
Definition: gdal.h:993
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:2339
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:448
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2139
int GDALValidateCreationOptions(GDALDriverH, char **papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1453
Definition: gdal.h:71
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition: gdaldataset.cpp:6329
Definition: gdal.h:215
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1473
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1268
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2586
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1754
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:141
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2565
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1706
GDALPaletteInterp
Definition: gdal.h:210
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1128
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1936
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1589
Definition: gdal.h:1077
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1234
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1310
double dfLINE_SCALE
Definition: gdal.h:996
double dfLINE_OFF
Definition: gdal.h:990
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1043
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1334
void GDALCopyWords(const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType, int nDstPixelOffset, int nWordCount)
Copy pixel words from buffer to buffer.
Definition: rasterio.cpp:2688
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition: cpl_port.h:253
Definition: gdal.h:1069
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1345
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6206
Definition: gdal.h:214
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2069
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2640
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:981
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:279
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2122
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:255
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1155
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:708
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:815
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition: gdaldefaultasync.cpp:235
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:197
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:3040
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1140
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:6431
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT
Copy all dataset raster data.
Definition: rasterio.cpp:3915
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:246
void * OGRGeometryH
Opaque type for a geometyr.
Definition: ogr_api.h:56
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:437
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1105
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1816
Definition: gdal.h:67
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:3665
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:291
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:851
double dfSAMP_OFF
Definition: gdal.h:991
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:3690
Definition: gdal.h:193
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
Set default histogram.
Definition: gdalrasterband.cpp:5735
int GDALExtractRPCInfo(char **, GDALRPCInfo *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3163
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:923
double dfSAMP_SCALE
Definition: gdal.h:997
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2026
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:539
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1757
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:3530
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1454
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:136
Definition: gdal.h:125
Definition: gdal.h:1062
Definition: gdal.h:127
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:951
int GDALGetDataCoverageStatus(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop, double *pdfDataPct)
Get the coverage status of a sub-window of the raster.
Definition: gdalrasterband.cpp:6734
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6103
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:503
Definition: gdal.h:191
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1198
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) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2110
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1868
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2345
GDALAccess
Definition: gdal.h:107
short c4
Definition: gdal.h:1032
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2248
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2809
void GDALDestroyColorTable(GDALColorTableH)
Destroys a color table.
Definition: gdalcolortable.cpp:96
double GDALGetRasterMaximum(GDALRasterBandH, int *pbSuccess)
Fetch the maximum value for this band.
Definition: gdalrasterband.cpp:1847
Definition: gdal.h:66
Definition: gdal.h:1053
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:354
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1059
double dfLAT_SCALE
Definition: gdal.h:998
Definition: gdal.h:197
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:250
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1747
const char * GDALGetMetadataItem(GDALMajorObjectH, const char *, const char *)
Fetch single metadata item.
Definition: gdalmajorobject.cpp:361
CPLErr GDALRenameDataset(GDALDriverH, const char *pszNewName, const char *pszOldName)
Rename a dataset.
Definition: gdaldriver.cpp:1171
Definition: gdal.h:1067
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:258
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:550
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2767
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:161
double dfMAX_LONG
Definition: gdal.h:1009
Definition: gdal.h:1075
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:270
Definition: gdal.h:199
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:6604
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) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1544
Definition: gdal.h:129
double dfXSize
Definition: gdal.h:164
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:355
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:99
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:287
GDALColorInterp
Definition: gdal.h:184
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:310
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2547
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1031
double dfYOff
Definition: gdal.h:162
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:869
GDALAsyncReaderH GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff, int nXSize, int nYSize, void *pBuf, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, int nLineSpace, int nBandSpace, char **papszOptions) CPL_WARN_UNUSED_RESULT
Sets up an asynchronous data request.
Definition: gdaldataset.cpp:3324
Definition: gdal.h:203
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2322
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:547
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:3601
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:3125
Definition: gdal.h:126
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2444
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:3221
Definition: gdal.h:68
Definition: gdal.h:187
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:3982
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:369
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:2912
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:3376
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:918
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition: gdal_misc.cpp:286
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4041
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:293
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:5875
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:3882
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2433
GDALDataType GDALFindDataType(int nBits, int bSigned, int bFloating, int bComplex)
Finds the smallest data type able to support the given requirements.
Definition: gdal_misc.cpp:238
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:223
Definition: gdal.h:108
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1066
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:556
Definition: gdal.h:1055
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:147
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2270
Definition: gdal.h:212
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT
Construct empty table.
Definition: gdal_rat.cpp:1109
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:5311
Ground Control Point.
Definition: gdal.h:536
CPLErr
Error category.
Definition: cpl_error.h:52
GDALPaletteInterp GDALGetPaletteInterpretation(GDALColorTableH)
Fetch palette interpretation.
Definition: gdalcolortable.cpp:356
GIntBig GDALGetCacheUsed64(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:352
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2850
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2730
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:6656
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1175
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1318
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:322
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1518
Definition: gdal.h:1064
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3399
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:999
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
Definition: gdal.h:114

Generated for GDAL by doxygen 1.8.8.