GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: gdal.h 39834 2017-08-16 12:20:23Z 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, 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 ); // Deprecated.
74 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
75 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
76 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
77 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
78 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
80 double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
82 
86 typedef enum
87 {
88  GARIO_PENDING = 0,
89  GARIO_UPDATE = 1,
90  GARIO_ERROR = 2,
91  GARIO_COMPLETE = 3,
92  GARIO_TypeCount = 4
94 
95 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
96 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
97 
99 typedef enum { GA_ReadOnly = 0, GA_Update = 1
102 } GDALAccess;
103 
105 typedef enum { GF_Read = 0, GF_Write = 1
108 } GDALRWFlag;
109 
110 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
114 typedef enum
125  /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
127 
128 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
129 /* and INIT_RASTERIO_EXTRA_ARG */
133 typedef struct
134 {
136  int nVersion;
137 
140 
142  GDALProgressFunc pfnProgress;
145 
152  double dfXOff;
154  double dfYOff;
156  double dfXSize;
158  double dfYSize;
160 
161 #ifndef DOXYGEN_SKIP
162 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
163 #endif
164 
168 #define INIT_RASTERIO_EXTRA_ARG(s) \
169  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
170  (s).eResampleAlg = GRIORA_NearestNeighbour; \
171  (s).pfnProgress = NULL; \
172  (s).pProgressData = NULL; \
173  (s).bFloatingPointWindowValidity = FALSE; } while(0)
174 
176 typedef enum
177 {
197 
198 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
199 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
200 
202 typedef enum
203 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
209 
211 
212 /* "well known" metadata items. */
213 
216 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
217 
219 # define GDALMD_AOP_AREA "Area"
220 
222 # define GDALMD_AOP_POINT "Point"
223 
224 /* -------------------------------------------------------------------- */
225 /* GDAL Specific error codes. */
226 /* */
227 /* error codes 100 to 299 reserved for GDAL. */
228 /* -------------------------------------------------------------------- */
229 #ifndef DOXYGEN_SKIP
230 #define CPLE_WrongFormat (CPLErrorNum)200
231 #endif
232 
233 /* -------------------------------------------------------------------- */
234 /* Define handle types related to various internal classes. */
235 /* -------------------------------------------------------------------- */
236 
238 typedef void *GDALMajorObjectH;
239 
241 typedef void *GDALDatasetH;
242 
244 typedef void *GDALRasterBandH;
245 
247 typedef void *GDALDriverH;
248 
250 typedef void *GDALColorTableH;
251 
254 
256 typedef void *GDALAsyncReaderH;
257 
260 
261 /* ==================================================================== */
262 /* Registration/driver related. */
263 /* ==================================================================== */
264 
266 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
267 
269 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
270 
272 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
273 
275 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
276 
281 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
282 
286 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
287 
289 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
290 
294 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
295 
297 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
298 
302 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
303 
305 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
306 
308 #define GDAL_DCAP_OPEN "DCAP_OPEN"
309 
311 #define GDAL_DCAP_CREATE "DCAP_CREATE"
312 
314 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
315 
317 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
318 
322 #define GDAL_DCAP_RASTER "DCAP_RASTER"
323 
327 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
328 
332 #define GDAL_DCAP_GNM "DCAP_GNM"
333 
337 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
338 
342 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
343 
347 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
348 
349 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
350 
351 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
352  const char *, int, int, int, GDALDataType,
353  char ** ) CPL_WARN_UNUSED_RESULT;
354 GDALDatasetH CPL_DLL CPL_STDCALL
355 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
356  int, char **, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
357 
358 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
359  char ** papszFileList );
360 
361 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
362  const char *pszFilename, unsigned int nIdentifyFlags,
363  const char *const *papszAllowedDrivers, const char *const *papszFileList);
364 
365 GDALDatasetH CPL_DLL CPL_STDCALL
366 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
367 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
368 
369 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
370 /* equals to GA_ReadOnly and GA_Update */
371 
376 #define GDAL_OF_READONLY 0x00
377 
382 #define GDAL_OF_UPDATE 0x01
383 
388 #define GDAL_OF_ALL 0x00
389 
394 #define GDAL_OF_RASTER 0x02
395 
400 #define GDAL_OF_VECTOR 0x04
401 
406 #define GDAL_OF_GNM 0x08
407 
408 /* Some space for GDAL 3.0 new types ;-) */
409 /*#define GDAL_OF_OTHER_KIND1 0x08 */
410 /*#define GDAL_OF_OTHER_KIND2 0x10 */
411 #ifndef DOXYGEN_SKIP
412 #define GDAL_OF_KIND_MASK 0x1E
413 #endif
414 
419 #define GDAL_OF_SHARED 0x20
420 
425 #define GDAL_OF_VERBOSE_ERROR 0x40
426 
433 #define GDAL_OF_INTERNAL 0x80
434 
444 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
445 
454 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
455 
464 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
465 
466 #ifndef DOXYGEN_SKIP
467 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
468  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
469 #define GDAL_OF_RESERVED_1 0x300
470 
472 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
473 #endif
474 
475 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
476  unsigned int nOpenFlags,
477  const char* const* papszAllowedDrivers,
478  const char* const* papszOpenOptions,
479  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
480 
481 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
482 
483 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
484 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
485 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
486 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
487 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
488 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
489 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
490 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
491 #ifndef DOXYGEN_SKIP
492 void CPL_DLL GDALDestroy( void );
493 #endif
494 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
495 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
496  const char * pszNewName,
497  const char * pszOldName );
498 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
499  const char * pszNewName,
500  const char * pszOldName);
501 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
502  char** papszCreationOptions);
503 
504 /* The following are deprecated */
505 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
506 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
507 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
508 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
509 
510 /* ==================================================================== */
511 /* GDAL_GCP */
512 /* ==================================================================== */
513 
515 typedef struct
516 {
518  char *pszId;
519 
521  char *pszInfo;
522 
524  double dfGCPPixel;
526  double dfGCPLine;
527 
529  double dfGCPX;
530 
532  double dfGCPY;
533 
535  double dfGCPZ;
536 } GDAL_GCP;
537 
538 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
539 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
540 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
541 
542 int CPL_DLL CPL_STDCALL
543 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
544  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
545 int CPL_DLL CPL_STDCALL
546 GDALInvGeoTransform( double *padfGeoTransformIn,
547  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
548 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
549  double *, double * );
550 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
551  const double *padfGeoTransform2,
552  double *padfGeoTransformOut);
553 
554 /* ==================================================================== */
555 /* major objects (dataset, and, driver, drivermanager). */
556 /* ==================================================================== */
557 
558 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
559 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
560 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **,
561  const char * );
562 const char CPL_DLL * CPL_STDCALL
563 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
564 CPLErr CPL_DLL CPL_STDCALL
565 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
566  const char * );
567 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
568 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
569 
570 /* ==================================================================== */
571 /* GDALDataset class ... normally this represents one file. */
572 /* ==================================================================== */
573 
575 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
576 
577 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
578 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
579 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
580 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
581 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
582 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
583 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
584 
585 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
586  char **papszOptions );
587 
588 GDALAsyncReaderH CPL_DLL CPL_STDCALL
589 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
590  int nXSize, int nYSize,
591  void *pBuf, int nBufXSize, int nBufYSize,
592  GDALDataType eBufType, int nBandCount, int* panBandMap,
593  int nPixelSpace, int nLineSpace, int nBandSpace,
594  char **papszOptions) CPL_WARN_UNUSED_RESULT;
595 
596 void CPL_DLL CPL_STDCALL
597 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
598 
599 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
600  GDALDatasetH hDS, GDALRWFlag eRWFlag,
601  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
602  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
603  int nBandCount, int *panBandCount,
604  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
605 
606 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
607  GDALDatasetH hDS, GDALRWFlag eRWFlag,
608  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
609  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
610  int nBandCount, int *panBandCount,
611  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
613 
614 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
615  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
616  int nBXSize, int nBYSize, GDALDataType eBDataType,
617  int nBandCount, int *panBandCount, char **papszOptions );
618 
619 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
620 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
621 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
622 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
623 
624 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
625 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
626 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
627 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
628  const char * );
629 
630 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
631 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
632 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
633 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
634 
635 CPLErr CPL_DLL CPL_STDCALL
636 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
637  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
638 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
639 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
640 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
641 
642 CPLErr CPL_DLL CPL_STDCALL
643  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
644 
645 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
646  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions,
647  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
648 
649 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
650  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
651  const char * const * constpapszOptions,
652  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
653 
654 CPLErr CPL_DLL
656  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
657  const char *pszResampling,
658  GDALProgressFunc pfnProgress, void *pProgressData );
659 
660 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
661 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
662 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
663 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
664 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
666  char ** );
667 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
668  char ** );
669 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
670 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature( GDALDatasetH hDS,
671  OGRLayerH* phBelongingLayer,
672  double* pdfProgressPct,
673  GDALProgressFunc pfnProgress,
674  void* pProgressData );
675 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
676 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
677  OGRGeometryH, const char * );
678 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
679 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
680 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
681 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
682 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
683 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
684 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
685 
686 /* ==================================================================== */
687 /* GDALRasterBand ... one band/channel in a dataset. */
688 /* ==================================================================== */
689 
694 #define SRCVAL(papoSource, eSrcType, ii) \
695  (eSrcType == GDT_Byte ? \
696  ((GByte *)papoSource)[ii] : \
697  (eSrcType == GDT_Float32 ? \
698  ((float *)papoSource)[ii] : \
699  (eSrcType == GDT_Float64 ? \
700  ((double *)papoSource)[ii] : \
701  (eSrcType == GDT_Int32 ? \
702  ((GInt32 *)papoSource)[ii] : \
703  (eSrcType == GDT_UInt16 ? \
704  ((GUInt16 *)papoSource)[ii] : \
705  (eSrcType == GDT_Int16 ? \
706  ((GInt16 *)papoSource)[ii] : \
707  (eSrcType == GDT_UInt32 ? \
708  ((GUInt32 *)papoSource)[ii] : \
709  (eSrcType == GDT_CInt16 ? \
710  ((GInt16 *)papoSource)[ii * 2] : \
711  (eSrcType == GDT_CInt32 ? \
712  ((GInt32 *)papoSource)[ii * 2] : \
713  (eSrcType == GDT_CFloat32 ? \
714  ((float *)papoSource)[ii * 2] : \
715  (eSrcType == GDT_CFloat64 ? \
716  ((double *)papoSource)[ii * 2] : 0)))))))))))
717 
720 typedef CPLErr
721 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
722  int nBufXSize, int nBufYSize,
723  GDALDataType eSrcType, GDALDataType eBufType,
724  int nPixelSpace, int nLineSpace);
725 
726 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
727 void CPL_DLL CPL_STDCALL
728 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
729 
730 CPLErr CPL_DLL CPL_STDCALL
731 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
732  int *pnXValid, int *pnYValid );
733 
734 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
735  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
736  int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions );
737 
738 CPLErr CPL_DLL CPL_STDCALL
739 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
740  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
741  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
742  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
743 CPLErr CPL_DLL CPL_STDCALL
744 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
745  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
746  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
747  GSpacing nPixelSpace, GSpacing nLineSpace,
749 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
750 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
751 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
752 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
753 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
754 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
755 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
756 
757 GDALColorInterp CPL_DLL CPL_STDCALL
758 GDALGetRasterColorInterpretation( GDALRasterBandH );
759 CPLErr CPL_DLL CPL_STDCALL
761 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );
762 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
763 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
764 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
765 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
766 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
767 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
768 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
769 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
770 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
771 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
772 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
773 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
774  GDALRasterBandH, int bApproxOK, int bForce,
775  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
776 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
777  GDALRasterBandH, int bApproxOK,
778  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
779  GDALProgressFunc pfnProgress, void *pProgressData );
780 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
781  GDALRasterBandH hBand,
782  double dfMin, double dfMax, double dfMean, double dfStdDev );
783 
784 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
785 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
786 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
787 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
788 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
789 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
790 void CPL_DLL CPL_STDCALL
791 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
792  double adfMinMax[2] );
793 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
794 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
795  double dfMin, double dfMax,
796  int nBuckets, int *panHistogram,
797  int bIncludeOutOfRange, int bApproxOK,
798  GDALProgressFunc pfnProgress,
799  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
800 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
801  double dfMin, double dfMax,
802  int nBuckets, GUIntBig *panHistogram,
803  int bIncludeOutOfRange, int bApproxOK,
804  GDALProgressFunc pfnProgress,
805  void * pProgressData );
806 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
807  double *pdfMin, double *pdfMax,
808  int *pnBuckets, int **ppanHistogram,
809  int bForce,
810  GDALProgressFunc pfnProgress,
811  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
812 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
813  double *pdfMin, double *pdfMax,
814  int *pnBuckets, GUIntBig **ppanHistogram,
815  int bForce,
816  GDALProgressFunc pfnProgress,
817  void * pProgressData );
818 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
819  double dfMin, double dfMax,
820  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
821 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
822  double dfMin, double dfMax,
823  int nBuckets, GUIntBig *panHistogram );
824 int CPL_DLL CPL_STDCALL
825 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
826 GDALRasterBandH CPL_DLL CPL_STDCALL
827 GDALGetRasterSampleOverview( GDALRasterBandH, int );
828 GDALRasterBandH CPL_DLL CPL_STDCALL
829 GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig );
830 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
831  double dfRealValue, double dfImaginaryValue );
832 CPLErr CPL_DLL CPL_STDCALL
833 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
834  double *pdfMean, double *pdfStdDev,
835  GDALProgressFunc pfnProgress,
836  void *pProgressData );
837 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
838  int nOverviewCount,
839  GDALRasterBandH *pahOverviews,
840  GDALProgressFunc pfnProgress,
841  void *pProgressData );
842 
843 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
844  GDALRasterBandH hBand );
845 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
847 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
848  GDALDerivedPixelFunc pfnPixelFunc );
849 
850 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
851 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
852 CPLErr CPL_DLL CPL_STDCALL
853  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
854 
856 #define GMF_ALL_VALID 0x01
857 
859 #define GMF_PER_DATASET 0x02
860 
862 #define GMF_ALPHA 0x04
863 
865 #define GMF_NODATA 0x08
866 
870 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
871 
876 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
877 
883 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
884 
885 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
886  int nXOff, int nYOff,
887  int nXSize, int nYSize,
888  int nMaskFlagStop,
889  double* pdfDataPct );
890 
891 /* ==================================================================== */
892 /* GDALAsyncReader */
893 /* ==================================================================== */
894 
895 GDALAsyncStatusType CPL_DLL CPL_STDCALL
896 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
897  int* pnXBufOff, int* pnYBufOff,
898  int* pnXBufSize, int* pnYBufSize );
899 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
900  double dfTimeout);
901 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
902 
903 /* -------------------------------------------------------------------- */
904 /* Helper functions. */
905 /* -------------------------------------------------------------------- */
906 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
907  int nOptions );
908 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
909  int nWordSkip );
910 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
911  int nWordSkip );
912 
913 void CPL_DLL CPL_STDCALL
914  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
915  GDALDataType eSrcType, int nSrcPixelOffset,
916  void * CPL_RESTRICT pDstData,
917  GDALDataType eDstType, int nDstPixelOffset,
918  int nWordCount );
919 
920 void CPL_DLL
921 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
922  GByte *pabyDstData, int nDstOffset, int nDstStep,
923  int nBitCount, int nStepCount );
924 
925 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
926 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
927  double * );
928 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
929  double * );
930 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
931  int *, GDAL_GCP ** );
932 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
933  int *, GDAL_GCP ** );
934 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
935  int *, GDAL_GCP ** );
936 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
937  char **, int *, GDAL_GCP ** );
938 
939 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
940 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
941 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
942 
943 /* Note to developers : please keep this section in sync with ogr_core.h */
944 
945 #ifndef GDAL_VERSION_INFO_DEFINED
946 #ifndef DOXYGEN_SKIP
947 #define GDAL_VERSION_INFO_DEFINED
948 #endif
949 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
950 #endif
951 
952 #ifndef GDAL_CHECK_VERSION
953 
954 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
955  const char* pszCallingComponentName);
956 
960 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
961  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
962 
963 #endif
964 
967 typedef struct
968 {
969  double dfLINE_OFF;
970  double dfSAMP_OFF;
971  double dfLAT_OFF;
972  double dfLONG_OFF;
973  double dfHEIGHT_OFF;
975  double dfLINE_SCALE;
976  double dfSAMP_SCALE;
977  double dfLAT_SCALE;
978  double dfLONG_SCALE;
979  double dfHEIGHT_SCALE;
981  double adfLINE_NUM_COEFF[20];
982  double adfLINE_DEN_COEFF[20];
983  double adfSAMP_NUM_COEFF[20];
984  double adfSAMP_DEN_COEFF[20];
986  double dfMIN_LONG;
987  double dfMIN_LAT;
988  double dfMAX_LONG;
989  double dfMAX_LAT;
990 } GDALRPCInfo;
991 
992 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( char **, GDALRPCInfo * );
993 
994 /* ==================================================================== */
995 /* Color tables. */
996 /* ==================================================================== */
997 
999 typedef struct
1000 {
1002  short c1;
1003 
1005  short c2;
1006 
1008  short c3;
1009 
1011  short c4;
1012 } GDALColorEntry;
1013 
1014 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT;
1015 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1016 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1017 GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH );
1018 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1019 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1020 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1021 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1022 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1023  int nStartIndex, const GDALColorEntry *psStartColor,
1024  int nEndIndex, const GDALColorEntry *psEndColor );
1025 
1026 /* ==================================================================== */
1027 /* Raster Attribute Table */
1028 /* ==================================================================== */
1029 
1036 
1038 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
1059 
1060 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1061  GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT;
1062 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1063  GDALRasterAttributeTableH );
1064 
1065 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1066 
1067 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1068  GDALRasterAttributeTableH, int );
1069 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1070  GDALRasterAttributeTableH, int );
1071 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1072  GDALRasterAttributeTableH, int );
1073 
1074 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1076 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1077 
1078 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1079  GDALRasterAttributeTableH, int, int);
1080 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1081  GDALRasterAttributeTableH, int, int);
1082 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1083  GDALRasterAttributeTableH, int, int);
1084 
1085 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1086  const char * );
1087 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1088  int );
1089 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1090  double );
1091 
1092 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1093 
1094 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1095  int iField, int iStartRow, int iLength, double *pdfData );
1096 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1097  int iField, int iStartRow, int iLength, int *pnData);
1098 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1099  int iField, int iStartRow, int iLength, char **papszStrList);
1100 
1101 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1102  int );
1103 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
1104  const char *,
1106  GDALRATFieldUsage );
1107 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
1108  double, double );
1109 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1110  double *, double * );
1111 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1112  GDALRasterAttributeTableH, GDALColorTableH );
1113 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1114  GDALRasterAttributeTableH, int nEntryCount );
1115 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1116  FILE * );
1117 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1118  GDALRATClone( GDALRasterAttributeTableH );
1119 
1120 void CPL_DLL* CPL_STDCALL
1121  GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT;
1122 
1123 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1124 
1125 /* ==================================================================== */
1126 /* GDAL Cache Management */
1127 /* ==================================================================== */
1128 
1129 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1130 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1131 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1132 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1133 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1134 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1135 
1136 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1137 
1138 /* ==================================================================== */
1139 /* GDAL virtual memory */
1140 /* ==================================================================== */
1141 
1142 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1143  GDALRWFlag eRWFlag,
1144  int nXOff, int nYOff,
1145  int nXSize, int nYSize,
1146  int nBufXSize, int nBufYSize,
1147  GDALDataType eBufType,
1148  int nBandCount, int* panBandMap,
1149  int nPixelSpace,
1150  GIntBig nLineSpace,
1151  GIntBig nBandSpace,
1152  size_t nCacheSize,
1153  size_t nPageSizeHint,
1154  int bSingleThreadUsage,
1155  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1156 
1157 CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1158  GDALRWFlag eRWFlag,
1159  int nXOff, int nYOff,
1160  int nXSize, int nYSize,
1161  int nBufXSize, int nBufYSize,
1162  GDALDataType eBufType,
1163  int nPixelSpace,
1164  GIntBig nLineSpace,
1165  size_t nCacheSize,
1166  size_t nPageSizeHint,
1167  int bSingleThreadUsage,
1168  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1169 
1170 CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1171  GDALRWFlag eRWFlag,
1172  int *pnPixelSpace,
1173  GIntBig *pnLineSpace,
1174  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1175 
1177 typedef enum
1178 {
1186 
1187 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1188  GDALRWFlag eRWFlag,
1189  int nXOff, int nYOff,
1190  int nXSize, int nYSize,
1191  int nTileXSize, int nTileYSize,
1192  GDALDataType eBufType,
1193  int nBandCount, int* panBandMap,
1194  GDALTileOrganization eTileOrganization,
1195  size_t nCacheSize,
1196  int bSingleThreadUsage,
1197  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1198 
1199 CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1200  GDALRWFlag eRWFlag,
1201  int nXOff, int nYOff,
1202  int nXSize, int nYSize,
1203  int nTileXSize, int nTileYSize,
1204  GDALDataType eBufType,
1205  size_t nCacheSize,
1206  int bSingleThreadUsage,
1207  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1208 
1209 /* ==================================================================== */
1210 /* VRTPansharpenedDataset class. */
1211 /* ==================================================================== */
1212 
1213 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1214  GDALRasterBandH hPanchroBand,
1215  int nInputSpectralBands,
1216  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1217 
1218 /* =================================================================== */
1219 /* Misc API */
1220 /* ==================================================================== */
1221 
1222 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1223  char** papszOptions) CPL_WARN_UNUSED_RESULT;
1224 
1225 CPL_C_END
1226 
1227 #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:186
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:101
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:915
double dfMIN_LAT
Definition: gdal.h:987
Definition: gdal.h:1045
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:758
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:1039
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2206
Definition: gdal.h:67
char * pszInfo
Informational message or "".
Definition: gdal.h:521
Definition: gdal.h:1057
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:1047
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:524
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2118
Definition: gdal.h:1051
Definition: gdal.h:1184
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:77
Definition: gdal.h:1033
Definition: gdal.h:187
Definition: gdal.h:59
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2510
Definition: gdal.h:205
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2101
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:386
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:460
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:256
#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:150
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1535
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1196
Definition: gdal.h:192
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:1940
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
Definition: gdal.h:184
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2176
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:565
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:107
Definition: gdal.h:1049
#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:1031
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:1404
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:558
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:4064
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3015
Definition: gdal.h:1042
Definition: gdal.h:1055
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:1435
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:3694
double dfLONG_SCALE
Definition: gdal.h:978
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2077
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:602
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:289
Definition: gdal.h:1053
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:114
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1429
GDALRWFlag
Definition: gdal.h:105
double dfMIN_LONG
Definition: gdal.h:986
int nVersion
Definition: gdal.h:136
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2561
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:721
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:241
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:999
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:6546
Definition: gdal.h:190
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:875
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:967
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:307
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1373
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:244
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, char **)
Duplicate an existing layer.
Definition: gdaldataset.cpp:3923
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:639
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:1044
Definition: gdal.h:1040
double dfHEIGHT_SCALE
Definition: gdal.h:979
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:908
double dfMAX_LAT
Definition: gdal.h:989
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:182
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:1180
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:1002
Definition: gdal.h:120
CPLErr GDALSetMetadata(GDALMajorObjectH, char **, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:238
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:119
short c3
Definition: gdal.h:1008
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:500
Definition: gdal.h:69
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:971
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:600
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:1960
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:532
Definition: gdal.h:123
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:966
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:535
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:1005
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4006
double dfXOff
Definition: gdal.h:152
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:259
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:973
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:341
GDALDriverH GDALIdentifyDriver(const char *pszFilename, char **papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1891
Definition: gdal.h:1050
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:348
Definition: gdal.h:188
Definition: gdal.h:194
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:124
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:3556
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:312
void * pProgressData
Definition: gdal.h:144
Definition: gdal.h:180
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:2591
Definition: gdal.h:1052
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:1182
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:86
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:145
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1148
Definition: gdal.h:116
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1314
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:1638
GDALProgressFunc pfnProgress
Definition: gdal.h:142
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:253
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
Definition: gdal.h:193
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:402
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:158
Definition: gdal.h:181
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:3724
double dfLONG_OFF
Definition: gdal.h:972
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
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:1470
Definition: gdal.h:68
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition: gdaldataset.cpp:6326
Definition: gdal.h:207
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1337
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1132
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2471
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:133
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:202
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:992
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:1056
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:975
double dfLINE_OFF
Definition: gdal.h:969
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1060
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1351
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:1048
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:206
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:294
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:247
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1019
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:679
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition: gdaldefaultasync.cpp:235
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:199
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:6428
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition: gdaldriver.cpp:95
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:238
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:65
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:970
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:185
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:3048
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:787
double dfSAMP_SCALE
Definition: gdal.h:976
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:1890
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:518
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:117
Definition: gdal.h:1041
Definition: gdal.h:119
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:6100
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:503
Definition: gdal.h:183
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1177
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:1732
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2345
GDALAccess
Definition: gdal.h:99
short c4
Definition: gdal.h:1011
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:64
Definition: gdal.h:1032
#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:1038
double dfLAT_SCALE
Definition: gdal.h:977
Definition: gdal.h:189
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:1188
Definition: gdal.h:1046
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:250
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:529
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:988
Definition: gdal.h:1054
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:270
Definition: gdal.h:191
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:6601
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:121
double dfXSize
Definition: gdal.h:156
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:267
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:114
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:285
GDALColorInterp
Definition: gdal.h:176
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:222
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:154
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:886
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:195
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2322
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:526
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:118
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:66
Definition: gdal.h:179
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:3976
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:371
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
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4035
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:3876
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2433
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:100
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:535
Definition: gdal.h:1034
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:139
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2134
Definition: gdal.h:204
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:515
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:354
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:6653
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:324
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1382
Definition: gdal.h:1043
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3420
#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:106

Generated for GDAL by doxygen 1.8.6.