GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: gdal.h 41178 2018-01-03 12:47:04Z goatbar $
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 GDALDataTypeIsInteger( GDALDataType );
81 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
82 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
83 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
84 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
86 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
87 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
88 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
89 double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
91 
95 typedef enum
96 {
97  GARIO_PENDING = 0,
98  GARIO_UPDATE = 1,
99  GARIO_ERROR = 2,
100  GARIO_COMPLETE = 3,
101  GARIO_TypeCount = 4
103 
104 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
105 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
106 
108 typedef enum { GA_ReadOnly = 0, GA_Update = 1
111 } GDALAccess;
112 
114 typedef enum { GF_Read = 0, GF_Write = 1
117 } GDALRWFlag;
118 
119 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
123 typedef enum
134  /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
136 
137 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
138 /* and INIT_RASTERIO_EXTRA_ARG */
142 typedef struct
143 {
145  int nVersion;
146 
149 
151  GDALProgressFunc pfnProgress;
154 
161  double dfXOff;
163  double dfYOff;
165  double dfXSize;
167  double dfYSize;
169 
170 #ifndef DOXYGEN_SKIP
171 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
172 #endif
173 
177 #define INIT_RASTERIO_EXTRA_ARG(s) \
178  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
179  (s).eResampleAlg = GRIORA_NearestNeighbour; \
180  (s).pfnProgress = NULL_OR_NULLPTR; \
181  (s).pProgressData = NULL_OR_NULLPTR; \
182  (s).bFloatingPointWindowValidity = FALSE; } while(0)
183 
185 typedef enum
206 
207 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
208 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
209 
211 typedef enum
212 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
218 
220 
221 /* "well known" metadata items. */
222 
225 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
226 
228 # define GDALMD_AOP_AREA "Area"
229 
231 # define GDALMD_AOP_POINT "Point"
232 
233 /* -------------------------------------------------------------------- */
234 /* GDAL Specific error codes. */
235 /* */
236 /* error codes 100 to 299 reserved for GDAL. */
237 /* -------------------------------------------------------------------- */
238 #ifndef DOXYGEN_SKIP
239 #define CPLE_WrongFormat (CPLErrorNum)200
240 #endif
241 
242 /* -------------------------------------------------------------------- */
243 /* Define handle types related to various internal classes. */
244 /* -------------------------------------------------------------------- */
245 
247 typedef void *GDALMajorObjectH;
248 
250 typedef void *GDALDatasetH;
251 
253 typedef void *GDALRasterBandH;
254 
256 typedef void *GDALDriverH;
257 
259 typedef void *GDALColorTableH;
260 
263 
265 typedef void *GDALAsyncReaderH;
266 
269 
270 /* ==================================================================== */
271 /* Registration/driver related. */
272 /* ==================================================================== */
273 
275 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
276 
278 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
279 
281 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
282 
284 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
285 
290 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
291 
295 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
296 
298 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
299 
303 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
304 
306 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
307 
311 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
312 
316 #define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
317 
319 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
320 
322 #define GDAL_DCAP_OPEN "DCAP_OPEN"
323 
332 #define GDAL_DCAP_CREATE "DCAP_CREATE"
333 
342 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
343 
345 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
346 
350 #define GDAL_DCAP_RASTER "DCAP_RASTER"
351 
355 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
356 
360 #define GDAL_DCAP_GNM "DCAP_GNM"
361 
365 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
366 
370 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
371 
375 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
376 
382 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
383 
387 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
388 
389 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
390 
391 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
392  const char *, int, int, int, GDALDataType,
393  char ** ) CPL_WARN_UNUSED_RESULT;
394 GDALDatasetH CPL_DLL CPL_STDCALL
395 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
396  int, char **, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
397 
398 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
399  char ** papszFileList );
400 
401 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
402  const char *pszFilename, unsigned int nIdentifyFlags,
403  const char *const *papszAllowedDrivers, const char *const *papszFileList);
404 
405 GDALDatasetH CPL_DLL CPL_STDCALL
406 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
407 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
408 
409 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
410 /* equals to GA_ReadOnly and GA_Update */
411 
416 #define GDAL_OF_READONLY 0x00
417 
422 #define GDAL_OF_UPDATE 0x01
423 
428 #define GDAL_OF_ALL 0x00
429 
434 #define GDAL_OF_RASTER 0x02
435 
440 #define GDAL_OF_VECTOR 0x04
441 
446 #define GDAL_OF_GNM 0x08
447 
448 /* Some space for GDAL 3.0 new types ;-) */
449 /*#define GDAL_OF_OTHER_KIND1 0x08 */
450 /*#define GDAL_OF_OTHER_KIND2 0x10 */
451 #ifndef DOXYGEN_SKIP
452 #define GDAL_OF_KIND_MASK 0x1E
453 #endif
454 
459 #define GDAL_OF_SHARED 0x20
460 
465 #define GDAL_OF_VERBOSE_ERROR 0x40
466 
473 #define GDAL_OF_INTERNAL 0x80
474 
484 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
485 
494 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
495 
504 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
505 
506 #ifndef DOXYGEN_SKIP
507 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
508  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
509 #define GDAL_OF_RESERVED_1 0x300
510 
512 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
513 #endif
514 
515 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
516  unsigned int nOpenFlags,
517  const char* const* papszAllowedDrivers,
518  const char* const* papszOpenOptions,
519  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
520 
521 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
522 
523 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
524 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
525 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
526 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
527 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
528 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
529 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
530 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
531 #ifndef DOXYGEN_SKIP
532 void CPL_DLL GDALDestroy( void );
533 #endif
534 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
535 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
536  const char * pszNewName,
537  const char * pszOldName );
538 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
539  const char * pszNewName,
540  const char * pszOldName);
541 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
542  char** papszCreationOptions);
543 
544 /* The following are deprecated */
545 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
546 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
547 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
548 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
549 
550 /* ==================================================================== */
551 /* GDAL_GCP */
552 /* ==================================================================== */
553 
555 typedef struct
556 {
558  char *pszId;
559 
561  char *pszInfo;
562 
564  double dfGCPPixel;
566  double dfGCPLine;
567 
569  double dfGCPX;
570 
572  double dfGCPY;
573 
575  double dfGCPZ;
576 } GDAL_GCP;
577 
578 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
579 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
580 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
581 
582 int CPL_DLL CPL_STDCALL
583 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
584  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
585 int CPL_DLL CPL_STDCALL
586 GDALInvGeoTransform( double *padfGeoTransformIn,
587  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
588 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
589  double *, double * );
590 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
591  const double *padfGeoTransform2,
592  double *padfGeoTransformOut);
593 
594 /* ==================================================================== */
595 /* major objects (dataset, and, driver, drivermanager). */
596 /* ==================================================================== */
597 
598 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
599 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
600 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **,
601  const char * );
602 const char CPL_DLL * CPL_STDCALL
603 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
604 CPLErr CPL_DLL CPL_STDCALL
605 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
606  const char * );
607 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
608 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
609 
610 /* ==================================================================== */
611 /* GDALDataset class ... normally this represents one file. */
612 /* ==================================================================== */
613 
615 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
616 
617 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
618 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
619 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
620 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
621 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
622 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
623 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
624 
625 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
626  char **papszOptions );
627 
628 GDALAsyncReaderH CPL_DLL CPL_STDCALL
629 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
630  int nXSize, int nYSize,
631  void *pBuf, int nBufXSize, int nBufYSize,
632  GDALDataType eBufType, int nBandCount, int* panBandMap,
633  int nPixelSpace, int nLineSpace, int nBandSpace,
634  char **papszOptions) CPL_WARN_UNUSED_RESULT;
635 
636 void CPL_DLL CPL_STDCALL
637 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
638 
639 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
640  GDALDatasetH hDS, GDALRWFlag eRWFlag,
641  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
642  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
643  int nBandCount, int *panBandCount,
644  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
645 
646 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
647  GDALDatasetH hDS, GDALRWFlag eRWFlag,
648  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
649  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
650  int nBandCount, int *panBandCount,
651  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
653 
654 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
655  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
656  int nBXSize, int nBYSize, GDALDataType eBDataType,
657  int nBandCount, int *panBandCount, char **papszOptions );
658 
659 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
660 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
661 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
662 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
663 
664 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
665 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
666 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
667 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
668  const char * );
669 
670 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
671 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
672 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
673 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
674 
675 CPLErr CPL_DLL CPL_STDCALL
676 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
677  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
678 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
679 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
680 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
681 
682 CPLErr CPL_DLL CPL_STDCALL
683  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
684 
685 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
686  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions,
687  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
688 
689 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
690  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
691  const char * const * constpapszOptions,
692  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
693 
694 CPLErr CPL_DLL
696  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
697  const char *pszResampling,
698  GDALProgressFunc pfnProgress, void *pProgressData );
699 
700 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
701 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
702 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
703 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
704 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
706  char ** );
707 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
708  char ** );
709 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
710 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature( GDALDatasetH hDS,
711  OGRLayerH* phBelongingLayer,
712  double* pdfProgressPct,
713  GDALProgressFunc pfnProgress,
714  void* pProgressData );
715 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
716 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
717  OGRGeometryH, const char * );
718 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
719 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
720 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
721 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
722 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
723 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
724 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
725 
726 /* ==================================================================== */
727 /* GDALRasterBand ... one band/channel in a dataset. */
728 /* ==================================================================== */
729 
734 #define SRCVAL(papoSource, eSrcType, ii) \
735  (eSrcType == GDT_Byte ? \
736  ((GByte *)papoSource)[ii] : \
737  (eSrcType == GDT_Float32 ? \
738  ((float *)papoSource)[ii] : \
739  (eSrcType == GDT_Float64 ? \
740  ((double *)papoSource)[ii] : \
741  (eSrcType == GDT_Int32 ? \
742  ((GInt32 *)papoSource)[ii] : \
743  (eSrcType == GDT_UInt16 ? \
744  ((GUInt16 *)papoSource)[ii] : \
745  (eSrcType == GDT_Int16 ? \
746  ((GInt16 *)papoSource)[ii] : \
747  (eSrcType == GDT_UInt32 ? \
748  ((GUInt32 *)papoSource)[ii] : \
749  (eSrcType == GDT_CInt16 ? \
750  ((GInt16 *)papoSource)[ii * 2] : \
751  (eSrcType == GDT_CInt32 ? \
752  ((GInt32 *)papoSource)[ii * 2] : \
753  (eSrcType == GDT_CFloat32 ? \
754  ((float *)papoSource)[ii * 2] : \
755  (eSrcType == GDT_CFloat64 ? \
756  ((double *)papoSource)[ii * 2] : 0)))))))))))
757 
760 typedef CPLErr
761 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
762  int nBufXSize, int nBufYSize,
763  GDALDataType eSrcType, GDALDataType eBufType,
764  int nPixelSpace, int nLineSpace);
765 
766 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
767 void CPL_DLL CPL_STDCALL
768 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
769 
770 CPLErr CPL_DLL CPL_STDCALL
771 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
772  int *pnXValid, int *pnYValid );
773 
774 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
775  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
776  int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions );
777 
778 CPLErr CPL_DLL CPL_STDCALL
779 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
780  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
781  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
782  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
783 CPLErr CPL_DLL CPL_STDCALL
784 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
785  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
786  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
787  GSpacing nPixelSpace, GSpacing nLineSpace,
789 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
790 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
791 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
792 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
793 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
794 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
795 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
796 
797 GDALColorInterp CPL_DLL CPL_STDCALL
798 GDALGetRasterColorInterpretation( GDALRasterBandH );
799 CPLErr CPL_DLL CPL_STDCALL
801 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );
802 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
803 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
804 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
805 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
806 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
807 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
808 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
809 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
810 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
811 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
812 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
813 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
814  GDALRasterBandH, int bApproxOK, int bForce,
815  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
816 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
817  GDALRasterBandH, int bApproxOK,
818  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
819  GDALProgressFunc pfnProgress, void *pProgressData );
820 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
821  GDALRasterBandH hBand,
822  double dfMin, double dfMax, double dfMean, double dfStdDev );
823 
824 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
825 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
826 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
827 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
828 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
829 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
830 void CPL_DLL CPL_STDCALL
831 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
832  double adfMinMax[2] );
833 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
834 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
835  double dfMin, double dfMax,
836  int nBuckets, int *panHistogram,
837  int bIncludeOutOfRange, int bApproxOK,
838  GDALProgressFunc pfnProgress,
839  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
840 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
841  double dfMin, double dfMax,
842  int nBuckets, GUIntBig *panHistogram,
843  int bIncludeOutOfRange, int bApproxOK,
844  GDALProgressFunc pfnProgress,
845  void * pProgressData );
846 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
847  double *pdfMin, double *pdfMax,
848  int *pnBuckets, int **ppanHistogram,
849  int bForce,
850  GDALProgressFunc pfnProgress,
851  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
852 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
853  double *pdfMin, double *pdfMax,
854  int *pnBuckets, GUIntBig **ppanHistogram,
855  int bForce,
856  GDALProgressFunc pfnProgress,
857  void * pProgressData );
858 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
859  double dfMin, double dfMax,
860  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
861 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
862  double dfMin, double dfMax,
863  int nBuckets, GUIntBig *panHistogram );
864 int CPL_DLL CPL_STDCALL
865 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
866 GDALRasterBandH CPL_DLL CPL_STDCALL
867 GDALGetRasterSampleOverview( GDALRasterBandH, int );
868 GDALRasterBandH CPL_DLL CPL_STDCALL
869 GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig );
870 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
871  double dfRealValue, double dfImaginaryValue );
872 CPLErr CPL_DLL CPL_STDCALL
873 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
874  double *pdfMean, double *pdfStdDev,
875  GDALProgressFunc pfnProgress,
876  void *pProgressData );
877 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
878  int nOverviewCount,
879  GDALRasterBandH *pahOverviews,
880  GDALProgressFunc pfnProgress,
881  void *pProgressData );
882 
883 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
884  GDALRasterBandH hBand );
885 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
887 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
888  GDALDerivedPixelFunc pfnPixelFunc );
889 
890 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
891 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
892 CPLErr CPL_DLL CPL_STDCALL
893  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
894 
896 #define GMF_ALL_VALID 0x01
897 
899 #define GMF_PER_DATASET 0x02
900 
902 #define GMF_ALPHA 0x04
903 
905 #define GMF_NODATA 0x08
906 
910 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
911 
916 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
917 
923 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
924 
925 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
926  int nXOff, int nYOff,
927  int nXSize, int nYSize,
928  int nMaskFlagStop,
929  double* pdfDataPct );
930 
931 /* ==================================================================== */
932 /* GDALAsyncReader */
933 /* ==================================================================== */
934 
935 GDALAsyncStatusType CPL_DLL CPL_STDCALL
936 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
937  int* pnXBufOff, int* pnYBufOff,
938  int* pnXBufSize, int* pnYBufSize );
939 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
940  double dfTimeout);
941 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
942 
943 /* -------------------------------------------------------------------- */
944 /* Helper functions. */
945 /* -------------------------------------------------------------------- */
946 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
947  int nOptions );
948 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
949  int nWordSkip );
950 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
951  int nWordSkip );
952 
953 void CPL_DLL CPL_STDCALL
954  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
955  GDALDataType eSrcType, int nSrcPixelOffset,
956  void * CPL_RESTRICT pDstData,
957  GDALDataType eDstType, int nDstPixelOffset,
958  int nWordCount );
959 
960 void CPL_DLL
961 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
962  GByte *pabyDstData, int nDstOffset, int nDstStep,
963  int nBitCount, int nStepCount );
964 
965 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
966 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
967  double * );
968 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
969  double * );
970 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
971  int *, GDAL_GCP ** );
972 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
973  int *, GDAL_GCP ** );
974 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
975  int *, GDAL_GCP ** );
976 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
977  char **, int *, GDAL_GCP ** );
978 
979 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
980 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
981 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
982 
983 /* Note to developers : please keep this section in sync with ogr_core.h */
984 
985 #ifndef GDAL_VERSION_INFO_DEFINED
986 #ifndef DOXYGEN_SKIP
987 #define GDAL_VERSION_INFO_DEFINED
988 #endif
989 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
990 #endif
991 
992 #ifndef GDAL_CHECK_VERSION
993 
994 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
995  const char* pszCallingComponentName);
996 
1000 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1001  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1002 
1003 #endif
1004 
1007 typedef struct
1008 {
1009  double dfLINE_OFF;
1010  double dfSAMP_OFF;
1011  double dfLAT_OFF;
1012  double dfLONG_OFF;
1013  double dfHEIGHT_OFF;
1015  double dfLINE_SCALE;
1016  double dfSAMP_SCALE;
1017  double dfLAT_SCALE;
1018  double dfLONG_SCALE;
1021  double adfLINE_NUM_COEFF[20];
1022  double adfLINE_DEN_COEFF[20];
1023  double adfSAMP_NUM_COEFF[20];
1024  double adfSAMP_DEN_COEFF[20];
1026  double dfMIN_LONG;
1027  double dfMIN_LAT;
1028  double dfMAX_LONG;
1029  double dfMAX_LAT;
1030 } GDALRPCInfo;
1031 
1032 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( char **, GDALRPCInfo * );
1033 
1034 /* ==================================================================== */
1035 /* Color tables. */
1036 /* ==================================================================== */
1037 
1039 typedef struct
1040 {
1042  short c1;
1043 
1045  short c2;
1046 
1048  short c3;
1049 
1051  short c4;
1052 } GDALColorEntry;
1053 
1054 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT;
1055 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1056 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1057 GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH );
1058 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1059 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1060 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1061 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1062 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1063  int nStartIndex, const GDALColorEntry *psStartColor,
1064  int nEndIndex, const GDALColorEntry *psEndColor );
1065 
1066 /* ==================================================================== */
1067 /* Raster Attribute Table */
1068 /* ==================================================================== */
1069 
1076 
1078 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
1099 
1100 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1101  GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT;
1102 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1103  GDALRasterAttributeTableH );
1104 
1105 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1106 
1107 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1108  GDALRasterAttributeTableH, int );
1109 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1110  GDALRasterAttributeTableH, int );
1111 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1112  GDALRasterAttributeTableH, int );
1113 
1114 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1116 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1117 
1118 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1119  GDALRasterAttributeTableH, int, int);
1120 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1121  GDALRasterAttributeTableH, int, int);
1122 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1123  GDALRasterAttributeTableH, int, int);
1124 
1125 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1126  const char * );
1127 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1128  int );
1129 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1130  double );
1131 
1132 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1133 
1134 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1135  int iField, int iStartRow, int iLength, double *pdfData );
1136 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1137  int iField, int iStartRow, int iLength, int *pnData);
1138 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1139  int iField, int iStartRow, int iLength, char **papszStrList);
1140 
1141 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1142  int );
1143 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
1144  const char *,
1146  GDALRATFieldUsage );
1147 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
1148  double, double );
1149 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1150  double *, double * );
1151 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1152  GDALRasterAttributeTableH, GDALColorTableH );
1153 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1154  GDALRasterAttributeTableH, int nEntryCount );
1155 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1156  FILE * );
1157 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1158  GDALRATClone( GDALRasterAttributeTableH );
1159 
1160 void CPL_DLL* CPL_STDCALL
1161  GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT;
1162 
1163 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1164 
1165 /* ==================================================================== */
1166 /* GDAL Cache Management */
1167 /* ==================================================================== */
1168 
1169 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1170 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1171 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1172 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1173 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1174 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1175 
1176 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1177 
1178 /* ==================================================================== */
1179 /* GDAL virtual memory */
1180 /* ==================================================================== */
1181 
1182 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1183  GDALRWFlag eRWFlag,
1184  int nXOff, int nYOff,
1185  int nXSize, int nYSize,
1186  int nBufXSize, int nBufYSize,
1187  GDALDataType eBufType,
1188  int nBandCount, int* panBandMap,
1189  int nPixelSpace,
1190  GIntBig nLineSpace,
1191  GIntBig nBandSpace,
1192  size_t nCacheSize,
1193  size_t nPageSizeHint,
1194  int bSingleThreadUsage,
1195  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1196 
1197 CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1198  GDALRWFlag eRWFlag,
1199  int nXOff, int nYOff,
1200  int nXSize, int nYSize,
1201  int nBufXSize, int nBufYSize,
1202  GDALDataType eBufType,
1203  int nPixelSpace,
1204  GIntBig nLineSpace,
1205  size_t nCacheSize,
1206  size_t nPageSizeHint,
1207  int bSingleThreadUsage,
1208  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1209 
1210 CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1211  GDALRWFlag eRWFlag,
1212  int *pnPixelSpace,
1213  GIntBig *pnLineSpace,
1214  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1215 
1217 typedef enum
1218 {
1226 
1227 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1228  GDALRWFlag eRWFlag,
1229  int nXOff, int nYOff,
1230  int nXSize, int nYSize,
1231  int nTileXSize, int nTileYSize,
1232  GDALDataType eBufType,
1233  int nBandCount, int* panBandMap,
1234  GDALTileOrganization eTileOrganization,
1235  size_t nCacheSize,
1236  int bSingleThreadUsage,
1237  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1238 
1239 CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1240  GDALRWFlag eRWFlag,
1241  int nXOff, int nYOff,
1242  int nXSize, int nYSize,
1243  int nTileXSize, int nTileYSize,
1244  GDALDataType eBufType,
1245  size_t nCacheSize,
1246  int bSingleThreadUsage,
1247  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1248 
1249 /* ==================================================================== */
1250 /* VRTPansharpenedDataset class. */
1251 /* ==================================================================== */
1252 
1253 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1254  GDALRasterBandH hPanchroBand,
1255  int nInputSpectralBands,
1256  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1257 
1258 /* =================================================================== */
1259 /* Misc API */
1260 /* ==================================================================== */
1261 
1262 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1263  char** papszOptions) CPL_WARN_UNUSED_RESULT;
1264 
1265 CPL_C_END
1266 
1267 #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:3826
Definition: gdal.h:195
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:498
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:2663
Definition: gdal.h:110
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:915
double dfMIN_LAT
Definition: gdal.h:1027
Definition: gdal.h:1085
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:930
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:581
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:5255
Definition: gdal.h:1079
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2213
Definition: gdal.h:69
char * pszInfo
Informational message or "".
Definition: gdal.h:561
Definition: gdal.h:1097
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:736
Document node structure.
Definition: cpl_minixml.h:66
Definition: gdal.h:1087
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:3630
Definitions for CPL mini XML Parser/Serializer.
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:564
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2295
Definition: gdal.h:1091
Definition: gdal.h:1224
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:136
Definition: gdal.h:1073
Definition: gdal.h:196
Definition: gdal.h:59
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2511
Definition: gdal.h:214
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2278
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:397
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2501
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition: gdal_misc.cpp:632
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:5798
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:265
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:331
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:159
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1707
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1196
Definition: gdal.h:201
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:1981
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
Definition: gdal.h:193
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2353
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2700
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:737
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:1532
Definition: gdal.h:116
Definition: gdal.h:1089
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:966
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:3344
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1436
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:410
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1071
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:1445
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:569
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:1017
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4087
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3032
Definition: gdal.h:1082
Definition: gdal.h:1095
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2605
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:1575
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:3711
double dfLONG_SCALE
Definition: gdal.h:1018
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2254
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:2173
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:5842
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5706
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2034
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:613
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:378
Definition: gdal.h:1093
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:123
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1470
GDALRWFlag
Definition: gdal.h:114
double dfMIN_LONG
Definition: gdal.h:1026
int nVersion
Definition: gdal.h:145
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2743
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:761
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:250
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:811
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:213
Color tuple.
Definition: gdal.h:1039
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:6565
Definition: gdal.h:199
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:886
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1454
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1007
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:396
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1414
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:253
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, char **)
Duplicate an existing layer.
Definition: gdaldataset.cpp:3946
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1544
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:811
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 a whole raster band.
Definition: rasterio.cpp:4623
Definition: gdal.h:58
Definition: gdal.h:1084
Definition: gdal.h:1080
double dfHEIGHT_SCALE
Definition: gdal.h:1019
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:908
double dfMAX_LAT
Definition: gdal.h:1029
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:6135
Definition: gdal.h:191
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:1220
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:1042
Definition: gdal.h:129
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:1048
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:3193
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:511
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:2203
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1985
double dfLAT_OFF
Definition: gdal.h:1011
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:772
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2132
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition: gdal_misc.cpp:424
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:6656
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:572
Definition: gdal.h:132
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:1138
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:1376
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:3654
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:707
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1884
short c2
Definition: gdal.h:1045
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4029
double dfXOff
Definition: gdal.h:161
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1498
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:268
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:3410
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2236
double dfHEIGHT_OFF
Definition: gdal.h:1013
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:513
GDALDriverH GDALIdentifyDriver(const char *pszFilename, char **papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1932
Definition: gdal.h:1090
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:359
Definition: gdal.h:197
Definition: gdal.h:203
Definition: gdal.h:62
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6314
Definition: gdal.h:133
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:3759
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:181
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:314
void * pProgressData
Definition: gdal.h:153
Definition: gdal.h:189
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:2794
Definition: gdal.h:1092
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1217
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1058
Definition: gdal.h:1222
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:95
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1645
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:125
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1355
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:1810
GDALProgressFunc pfnProgress
Definition: gdal.h:151
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:262
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
Definition: gdal.h:202
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:574
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:167
Definition: gdal.h:190
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:3741
double dfLONG_OFF
Definition: gdal.h:1012
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:2340
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:481
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:2137
int GDALValidateCreationOptions(GDALDriverH, char **papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1511
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:6345
Definition: gdal.h:216
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1509
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1304
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2653
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1761
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:142
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2566
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1713
GDALPaletteInterp
Definition: gdal.h:211
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1164
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1943
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, char **)
Set the category names for this band.
Definition: gdalrasterband.cpp:1596
Definition: gdal.h:1096
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:1308
double dfLINE_SCALE
Definition: gdal.h:1015
double dfLINE_OFF
Definition: gdal.h:1009
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1101
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1392
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:3067
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition: cpl_port.h:239
Definition: gdal.h:187
Definition: gdal.h:1088
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1343
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6225
Definition: gdal.h:215
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2076
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2647
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:305
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2129
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:256
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1191
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:851
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:3057
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:6447
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:4296
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:247
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:438
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:3682
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:292
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:852
double dfSAMP_OFF
Definition: gdal.h:1010
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:3700
Definition: gdal.h:194
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
Set default histogram.
Definition: gdalrasterband.cpp:5754
int GDALExtractRPCInfo(char **, GDALRPCInfo *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3285
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:959
double dfSAMP_SCALE
Definition: gdal.h:1016
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2062
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:558
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1793
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:3537
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1461
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:136
Definition: gdal.h:126
Definition: gdal.h:1081
Definition: gdal.h:128
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:6753
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6119
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:503
Definition: gdal.h:192
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1217
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:2108
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1904
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2352
GDALAccess
Definition: gdal.h:108
short c4
Definition: gdal.h:1051
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2255
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2816
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:1854
Definition: gdal.h:66
Definition: gdal.h:1072
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:333
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1078
double dfLAT_SCALE
Definition: gdal.h:1017
Definition: gdal.h:198
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:236
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:1229
Definition: gdal.h:1086
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:259
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:569
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2774
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:1028
Definition: gdal.h:1094
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition: gdal_misc.cpp:451
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:270
Definition: gdal.h:200
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:6620
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:130
double dfXSize
Definition: gdal.h:165
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:356
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:114
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:287
GDALColorInterp
Definition: gdal.h:185
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:311
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2554
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1031
double dfYOff
Definition: gdal.h:163
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:927
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:3341
Definition: gdal.h:204
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2329
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:566
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:3608
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:3142
Definition: gdal.h:127
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2451
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:3219
Definition: gdal.h:68
Definition: gdal.h:188
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:3999
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:3291
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:3393
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:919
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition: gdal_misc.cpp:287
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4058
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:294
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:5894
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:3899
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2434
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:239
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:109
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:575
Definition: gdal.h:1074
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:148
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2311
Definition: gdal.h:213
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:5329
Ground Control Point.
Definition: gdal.h:555
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:2857
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2737
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:6672
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:1554
Definition: gdal.h:1083
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3623
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:925
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
Definition: gdal.h:115

Generated for GDAL by doxygen 1.8.8.