GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: gdal.h 2519a7eb0e1649dbf8625ae8ffc7bb7c3ef9514b 2018-07-10 12:05:23 +0100 Robert Coup $
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 #if defined(GDAL_COMPILATION)
42 #define DO_NOT_DEFINE_GDAL_RELEASE_DATE_AND_GDAL_RELEASE_NAME
43 #endif
44 #include "gdal_version.h"
45 #include "cpl_port.h"
46 #include "cpl_error.h"
47 #include "cpl_progress.h"
48 #include "cpl_virtualmem.h"
49 #include "cpl_minixml.h"
50 #include "ogr_api.h"
51 #endif
52 
53 /* -------------------------------------------------------------------- */
54 /* Significant constants. */
55 /* -------------------------------------------------------------------- */
56 
58 
60 typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5,
67  /* TODO?(#6879): GDT_UInt64 */
68  /* TODO?(#6879): GDT_Int64 */ GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
73  /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
76  GDT_TypeCount = 12 /* maximum type # + 1 */
77 } GDALDataType;
78 
79 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated.
80 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
81 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
82 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
83 int CPL_DLL CPL_STDCALL GDALDataTypeIsInteger( GDALDataType );
84 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
85 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
86 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
87 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
89 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
90 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
91 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
92 double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
94 int CPL_DLL CPL_STDCALL GDALDataTypeIsConversionLossy( GDALDataType eTypeFrom,
95  GDALDataType eTypeTo );
96 
100 typedef enum
101 {
102  GARIO_PENDING = 0,
103  GARIO_UPDATE = 1,
104  GARIO_ERROR = 2,
105  GARIO_COMPLETE = 3,
106  GARIO_TypeCount = 4
108 
109 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
110 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
111 
113 typedef enum { GA_ReadOnly = 0, GA_Update = 1
116 } GDALAccess;
117 
119 typedef enum { GF_Read = 0, GF_Write = 1
122 } GDALRWFlag;
123 
124 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
128 typedef enum
139  /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
141 
142 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
143 /* and INIT_RASTERIO_EXTRA_ARG */
147 typedef struct
148 {
150  int nVersion;
151 
154 
156  GDALProgressFunc pfnProgress;
159 
166  double dfXOff;
168  double dfYOff;
170  double dfXSize;
172  double dfYSize;
174 
175 #ifndef DOXYGEN_SKIP
176 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
177 #endif
178 
182 #define INIT_RASTERIO_EXTRA_ARG(s) \
183  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
184  (s).eResampleAlg = GRIORA_NearestNeighbour; \
185  (s).pfnProgress = CPL_NULLPTR; \
186  (s).pProgressData = CPL_NULLPTR; \
187  (s).bFloatingPointWindowValidity = FALSE; } while(0)
188 
190 typedef enum
211 
212 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
213 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
214 
216 typedef enum
217 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
223 
225 
226 /* "well known" metadata items. */
227 
230 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
231 
233 # define GDALMD_AOP_AREA "Area"
234 
236 # define GDALMD_AOP_POINT "Point"
237 
238 /* -------------------------------------------------------------------- */
239 /* GDAL Specific error codes. */
240 /* */
241 /* error codes 100 to 299 reserved for GDAL. */
242 /* -------------------------------------------------------------------- */
243 #ifndef DOXYGEN_SKIP
244 #define CPLE_WrongFormat CPL_STATIC_CAST(CPLErrorNum, 200)
245 #endif
246 
247 /* -------------------------------------------------------------------- */
248 /* Define handle types related to various internal classes. */
249 /* -------------------------------------------------------------------- */
250 
252 typedef void *GDALMajorObjectH;
253 
255 typedef void *GDALDatasetH;
256 
258 typedef void *GDALRasterBandH;
259 
261 typedef void *GDALDriverH;
262 
264 typedef void *GDALColorTableH;
265 
268 
270 typedef void *GDALAsyncReaderH;
271 
274 
275 /* ==================================================================== */
276 /* Registration/driver related. */
277 /* ==================================================================== */
278 
280 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
281 
283 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
284 
286 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
287 
289 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
290 
295 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
296 
300 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
301 
303 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
304 
308 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
309 
311 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
312 
316 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
317 
321 #define GDAL_DMD_CREATIONFIELDDATASUBTYPES "DMD_CREATIONFIELDDATASUBTYPES"
322 
324 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
325 
327 #define GDAL_DCAP_OPEN "DCAP_OPEN"
328 
337 #define GDAL_DCAP_CREATE "DCAP_CREATE"
338 
347 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
348 
350 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
351 
355 #define GDAL_DCAP_RASTER "DCAP_RASTER"
356 
360 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
361 
365 #define GDAL_DCAP_GNM "DCAP_GNM"
366 
370 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
371 
375 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
376 
380 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
381 
387 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
388 
392 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
393 
394 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
395 
396 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
397  const char *, int, int, int, GDALDataType,
399 GDALDatasetH CPL_DLL CPL_STDCALL
400 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
401  int, CSLConstList, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
402 
403 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
404  CSLConstList papszFileList );
405 
406 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
407  const char *pszFilename, unsigned int nIdentifyFlags,
408  const char *const *papszAllowedDrivers, const char *const *papszFileList);
409 
410 GDALDatasetH CPL_DLL CPL_STDCALL
411 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
412 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
413 
414 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
415 /* equals to GA_ReadOnly and GA_Update */
416 
421 #define GDAL_OF_READONLY 0x00
422 
427 #define GDAL_OF_UPDATE 0x01
428 
433 #define GDAL_OF_ALL 0x00
434 
439 #define GDAL_OF_RASTER 0x02
440 
445 #define GDAL_OF_VECTOR 0x04
446 
451 #define GDAL_OF_GNM 0x08
452 
453 /* Some space for GDAL 3.0 new types ;-) */
454 /*#define GDAL_OF_OTHER_KIND1 0x08 */
455 /*#define GDAL_OF_OTHER_KIND2 0x10 */
456 #ifndef DOXYGEN_SKIP
457 #define GDAL_OF_KIND_MASK 0x1E
458 #endif
459 
464 #define GDAL_OF_SHARED 0x20
465 
470 #define GDAL_OF_VERBOSE_ERROR 0x40
471 
478 #define GDAL_OF_INTERNAL 0x80
479 
489 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
490 
499 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
500 
509 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
510 
511 #ifndef DOXYGEN_SKIP
512 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
513  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
514 #define GDAL_OF_RESERVED_1 0x300
515 
517 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
518 #endif
519 
520 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
521  unsigned int nOpenFlags,
522  const char* const* papszAllowedDrivers,
523  const char* const* papszOpenOptions,
524  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
525 
526 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
527 
528 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
529 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
530 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
531 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
532 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
533 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
534 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
535 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
536 #ifndef DOXYGEN_SKIP
537 void CPL_DLL GDALDestroy( void );
538 #endif
539 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
540 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
541  const char * pszNewName,
542  const char * pszOldName );
543 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
544  const char * pszNewName,
545  const char * pszOldName);
546 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
547  CSLConstList papszCreationOptions);
548 
549 /* The following are deprecated */
550 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
551 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
552 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
553 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
554 
555 /* ==================================================================== */
556 /* GDAL_GCP */
557 /* ==================================================================== */
558 
560 typedef struct
561 {
563  char *pszId;
564 
566  char *pszInfo;
567 
569  double dfGCPPixel;
571  double dfGCPLine;
572 
574  double dfGCPX;
575 
577  double dfGCPY;
578 
580  double dfGCPZ;
581 } GDAL_GCP;
582 
583 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
584 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
585 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
586 
587 int CPL_DLL CPL_STDCALL
588 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
589  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
590 int CPL_DLL CPL_STDCALL
591 GDALInvGeoTransform( double *padfGeoTransformIn,
592  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
593 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
594  double *, double * );
595 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
596  const double *padfGeoTransform2,
597  double *padfGeoTransformOut);
598 
599 /* ==================================================================== */
600 /* major objects (dataset, and, driver, drivermanager). */
601 /* ==================================================================== */
602 
603 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
604 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
606  const char * );
607 const char CPL_DLL * CPL_STDCALL
608 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
609 CPLErr CPL_DLL CPL_STDCALL
610 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
611  const char * );
612 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
613 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
614 
615 /* ==================================================================== */
616 /* GDALDataset class ... normally this represents one file. */
617 /* ==================================================================== */
618 
620 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
621 
622 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
623 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
624 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
625 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
626 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
627 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
628 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
629 
630 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
631  CSLConstList papszOptions );
632 
633 GDALAsyncReaderH CPL_DLL CPL_STDCALL
634 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
635  int nXSize, int nYSize,
636  void *pBuf, int nBufXSize, int nBufYSize,
637  GDALDataType eBufType, int nBandCount, int* panBandMap,
638  int nPixelSpace, int nLineSpace, int nBandSpace,
639  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
640 
641 void CPL_DLL CPL_STDCALL
643 
644 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
645  GDALDatasetH hDS, GDALRWFlag eRWFlag,
646  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
647  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
648  int nBandCount, int *panBandCount,
649  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
650 
651 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
652  GDALDatasetH hDS, GDALRWFlag eRWFlag,
653  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
654  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
655  int nBandCount, int *panBandCount,
656  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
658 
659 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
660  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
661  int nBXSize, int nBYSize, GDALDataType eBDataType,
662  int nBandCount, int *panBandCount, CSLConstList papszOptions );
663 
664 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
665 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
666 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
667 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
668 
669 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
670 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
671 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
672 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
673  const char * );
674 
675 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
676 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
677 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
678 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
679 
680 CPLErr CPL_DLL CPL_STDCALL
681 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
682  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
683 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
684 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
685 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
686 
687 CPLErr CPL_DLL CPL_STDCALL
688  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
689 
690 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
691  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
692  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
693 
694 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
695  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
696  const char * const * constpapszOptions,
697  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
698 
699 CPLErr CPL_DLL
701  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
702  const char *pszResampling,
703  GDALProgressFunc pfnProgress, void *pProgressData );
704 
707 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
709 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
711  CSLConstList );
712 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
713  CSLConstList );
714 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
716  OGRLayerH* phBelongingLayer,
717  double* pdfProgressPct,
718  GDALProgressFunc pfnProgress,
719  void* pProgressData );
720 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
721 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
722  OGRGeometryH, const char * );
727 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
730 
731 /* ==================================================================== */
732 /* GDALRasterBand ... one band/channel in a dataset. */
733 /* ==================================================================== */
734 
739 #define SRCVAL(papoSource, eSrcType, ii) \
740  (eSrcType == GDT_Byte ? \
741  CPL_REINTERPRET_CAST(const GByte*,papoSource)[ii] : \
742  (eSrcType == GDT_Float32 ? \
743  CPL_REINTERPRET_CAST(const float*,papoSource)[ii] : \
744  (eSrcType == GDT_Float64 ? \
745  CPL_REINTERPRET_CAST(const double*,papoSource)[ii] : \
746  (eSrcType == GDT_Int32 ? \
747  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[ii] : \
748  (eSrcType == GDT_UInt16 ? \
749  CPL_REINTERPRET_CAST(const GUInt16*,papoSource)[ii] : \
750  (eSrcType == GDT_Int16 ? \
751  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[ii] : \
752  (eSrcType == GDT_UInt32 ? \
753  CPL_REINTERPRET_CAST(const GUInt32*,papoSource)[ii] : \
754  (eSrcType == GDT_CInt16 ? \
755  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[(ii) * 2] : \
756  (eSrcType == GDT_CInt32 ? \
757  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[(ii) * 2] : \
758  (eSrcType == GDT_CFloat32 ? \
759  CPL_REINTERPRET_CAST(const float*,papoSource)[(ii) * 2] : \
760  (eSrcType == GDT_CFloat64 ? \
761  CPL_REINTERPRET_CAST(const double*,papoSource)[(ii) * 2] : 0)))))))))))
762 
765 typedef CPLErr
766 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
767  int nBufXSize, int nBufYSize,
768  GDALDataType eSrcType, GDALDataType eBufType,
769  int nPixelSpace, int nLineSpace);
770 
771 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
772 void CPL_DLL CPL_STDCALL
773 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
774 
775 CPLErr CPL_DLL CPL_STDCALL
776 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
777  int *pnXValid, int *pnYValid );
778 
779 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
780  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
781  int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions );
782 
783 CPLErr CPL_DLL CPL_STDCALL
784 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
785  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
786  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
787  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
788 CPLErr CPL_DLL CPL_STDCALL
789 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
790  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
791  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
792  GSpacing nPixelSpace, GSpacing nLineSpace,
794 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
795 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
796 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
797 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
798 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
799 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
800 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
801 
802 GDALColorInterp CPL_DLL CPL_STDCALL
804 CPLErr CPL_DLL CPL_STDCALL
808 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
809 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
810 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
811 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
812 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
813 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
814 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
816 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
817 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
818 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
819  GDALRasterBandH, int bApproxOK, int bForce,
820  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
821 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
822  GDALRasterBandH, int bApproxOK,
823  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
824  GDALProgressFunc pfnProgress, void *pProgressData );
825 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
826  GDALRasterBandH hBand,
827  double dfMin, double dfMax, double dfMean, double dfStdDev );
828 
829 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
830 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
831 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
832 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
833 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
834 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
835 void CPL_DLL CPL_STDCALL
836 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
837  double adfMinMax[2] );
838 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
839 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
840  double dfMin, double dfMax,
841  int nBuckets, int *panHistogram,
842  int bIncludeOutOfRange, int bApproxOK,
843  GDALProgressFunc pfnProgress,
844  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
845 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
846  double dfMin, double dfMax,
847  int nBuckets, GUIntBig *panHistogram,
848  int bIncludeOutOfRange, int bApproxOK,
849  GDALProgressFunc pfnProgress,
850  void * pProgressData );
851 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
852  double *pdfMin, double *pdfMax,
853  int *pnBuckets, int **ppanHistogram,
854  int bForce,
855  GDALProgressFunc pfnProgress,
856  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
857 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
858  double *pdfMin, double *pdfMax,
859  int *pnBuckets, GUIntBig **ppanHistogram,
860  int bForce,
861  GDALProgressFunc pfnProgress,
862  void * pProgressData );
863 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
864  double dfMin, double dfMax,
865  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
866 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
867  double dfMin, double dfMax,
868  int nBuckets, GUIntBig *panHistogram );
869 int CPL_DLL CPL_STDCALL
871 GDALRasterBandH CPL_DLL CPL_STDCALL
873 GDALRasterBandH CPL_DLL CPL_STDCALL
875 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
876  double dfRealValue, double dfImaginaryValue );
877 CPLErr CPL_DLL CPL_STDCALL
878 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
879  double *pdfMean, double *pdfStdDev,
880  GDALProgressFunc pfnProgress,
881  void *pProgressData );
883  int nOverviewCount,
884  GDALRasterBandH *pahOverviews,
885  GDALProgressFunc pfnProgress,
886  void *pProgressData );
887 
888 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
889  GDALRasterBandH hBand );
890 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
892 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
893  GDALDerivedPixelFunc pfnPixelFunc );
894 
895 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
896 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
897 CPLErr CPL_DLL CPL_STDCALL
898  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
899 
901 #define GMF_ALL_VALID 0x01
902 
904 #define GMF_PER_DATASET 0x02
905 
907 #define GMF_ALPHA 0x04
908 
910 #define GMF_NODATA 0x08
911 
915 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
916 
921 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
922 
928 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
929 
930 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
931  int nXOff, int nYOff,
932  int nXSize, int nYSize,
933  int nMaskFlagStop,
934  double* pdfDataPct );
935 
936 /* ==================================================================== */
937 /* GDALAsyncReader */
938 /* ==================================================================== */
939 
940 GDALAsyncStatusType CPL_DLL CPL_STDCALL
941 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
942  int* pnXBufOff, int* pnYBufOff,
943  int* pnXBufSize, int* pnYBufSize );
944 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
945  double dfTimeout);
946 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
947 
948 /* -------------------------------------------------------------------- */
949 /* Helper functions. */
950 /* -------------------------------------------------------------------- */
951 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
952  int nOptions );
953 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
954  int nWordSkip );
955 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
956  int nWordSkip );
957 
958 void CPL_DLL CPL_STDCALL
959  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
960  GDALDataType eSrcType, int nSrcPixelOffset,
961  void * CPL_RESTRICT pDstData,
962  GDALDataType eDstType, int nDstPixelOffset,
963  int nWordCount );
964 
965 void CPL_DLL
966 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
967  GByte *pabyDstData, int nDstOffset, int nDstStep,
968  int nBitCount, int nStepCount );
969 
970 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
971 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
972  double * );
973 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
974  double * );
975 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
976  int *, GDAL_GCP ** );
977 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
978  int *, GDAL_GCP ** );
979 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
980  int *, GDAL_GCP ** );
981 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
982  char **, int *, GDAL_GCP ** );
983 
984 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
985 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
986 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
987 
988 /* Note to developers : please keep this section in sync with ogr_core.h */
989 
990 #ifndef GDAL_VERSION_INFO_DEFINED
991 #ifndef DOXYGEN_SKIP
992 #define GDAL_VERSION_INFO_DEFINED
993 #endif
994 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
995 #endif
996 
997 #ifndef GDAL_CHECK_VERSION
998 
999 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
1000  const char* pszCallingComponentName);
1001 
1005 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1006  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1007 
1008 #endif
1009 
1012 typedef struct
1013 {
1014  double dfLINE_OFF;
1015  double dfSAMP_OFF;
1016  double dfLAT_OFF;
1017  double dfLONG_OFF;
1018  double dfHEIGHT_OFF;
1020  double dfLINE_SCALE;
1021  double dfSAMP_SCALE;
1022  double dfLAT_SCALE;
1023  double dfLONG_SCALE;
1026  double adfLINE_NUM_COEFF[20];
1027  double adfLINE_DEN_COEFF[20];
1028  double adfSAMP_NUM_COEFF[20];
1029  double adfSAMP_DEN_COEFF[20];
1031  double dfMIN_LONG;
1032  double dfMIN_LAT;
1033  double dfMAX_LONG;
1034  double dfMAX_LAT;
1035 } GDALRPCInfo;
1036 
1037 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( CSLConstList, GDALRPCInfo * );
1038 
1039 /* ==================================================================== */
1040 /* Color tables. */
1041 /* ==================================================================== */
1042 
1044 typedef struct
1045 {
1047  short c1;
1048 
1050  short c2;
1051 
1053  short c3;
1054 
1056  short c4;
1057 } GDALColorEntry;
1058 
1060 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1061 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1063 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1064 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1065 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1066 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1067 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1068  int nStartIndex, const GDALColorEntry *psStartColor,
1069  int nEndIndex, const GDALColorEntry *psEndColor );
1070 
1071 /* ==================================================================== */
1072 /* Raster Attribute Table */
1073 /* ==================================================================== */
1074 
1081 
1083 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
1104 
1112 
1113 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1115 
1116 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1118 
1119 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1120 
1121 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1123 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1125 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1127 
1128 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1129  GDALRATFieldUsage );
1130 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1131 
1132 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1133  GDALRasterAttributeTableH, int, int);
1134 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1135  GDALRasterAttributeTableH, int, int);
1136 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1137  GDALRasterAttributeTableH, int, int);
1138 
1139 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1140  const char * );
1141 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1142  int );
1143 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1144  double );
1145 
1146 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1147 
1148 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1149  int iField, int iStartRow, int iLength, double *pdfData );
1150 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1151  int iField, int iStartRow, int iLength, int *pnData);
1152 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1153  int iField, int iStartRow, int iLength, CSLConstList papszStrList);
1154 
1155 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1156  int );
1158  const char *,
1159  GDALRATFieldType,
1160  GDALRATFieldUsage );
1162  double, double );
1163 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1164  double *, double * );
1165 CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType( GDALRasterAttributeTableH hRAT,
1166  const GDALRATTableType eInTableType );
1167 GDALRATTableType CPL_DLL CPL_STDCALL GDALRATGetTableType( GDALRasterAttributeTableH hRAT);
1168 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1170 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1171  GDALRasterAttributeTableH, int nEntryCount );
1172 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1173  FILE * );
1174 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1176 
1177 void CPL_DLL* CPL_STDCALL
1179 
1180 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1181 void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics( GDALRasterAttributeTableH );
1182 
1183 /* ==================================================================== */
1184 /* GDAL Cache Management */
1185 /* ==================================================================== */
1186 
1187 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1188 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1189 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1190 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1191 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1192 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1193 
1194 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1195 
1196 /* ==================================================================== */
1197 /* GDAL virtual memory */
1198 /* ==================================================================== */
1199 
1201  GDALRWFlag eRWFlag,
1202  int nXOff, int nYOff,
1203  int nXSize, int nYSize,
1204  int nBufXSize, int nBufYSize,
1205  GDALDataType eBufType,
1206  int nBandCount, int* panBandMap,
1207  int nPixelSpace,
1208  GIntBig nLineSpace,
1209  GIntBig nBandSpace,
1210  size_t nCacheSize,
1211  size_t nPageSizeHint,
1212  int bSingleThreadUsage,
1213  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1214 
1216  GDALRWFlag eRWFlag,
1217  int nXOff, int nYOff,
1218  int nXSize, int nYSize,
1219  int nBufXSize, int nBufYSize,
1220  GDALDataType eBufType,
1221  int nPixelSpace,
1222  GIntBig nLineSpace,
1223  size_t nCacheSize,
1224  size_t nPageSizeHint,
1225  int bSingleThreadUsage,
1226  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1227 
1229  GDALRWFlag eRWFlag,
1230  int *pnPixelSpace,
1231  GIntBig *pnLineSpace,
1232  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1233 
1235 typedef enum
1236 {
1244 
1246  GDALRWFlag eRWFlag,
1247  int nXOff, int nYOff,
1248  int nXSize, int nYSize,
1249  int nTileXSize, int nTileYSize,
1250  GDALDataType eBufType,
1251  int nBandCount, int* panBandMap,
1252  GDALTileOrganization eTileOrganization,
1253  size_t nCacheSize,
1254  int bSingleThreadUsage,
1255  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1256 
1258  GDALRWFlag eRWFlag,
1259  int nXOff, int nYOff,
1260  int nXSize, int nYSize,
1261  int nTileXSize, int nTileYSize,
1262  GDALDataType eBufType,
1263  size_t nCacheSize,
1264  int bSingleThreadUsage,
1265  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1266 
1267 /* ==================================================================== */
1268 /* VRTPansharpenedDataset class. */
1269 /* ==================================================================== */
1270 
1271 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1272  GDALRasterBandH hPanchroBand,
1273  int nInputSpectralBands,
1274  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1275 
1276 /* =================================================================== */
1277 /* Misc API */
1278 /* ==================================================================== */
1279 
1280 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1281  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1282 
1283 CPL_C_END
1284 
1285 #endif /* ndef GDAL_H_INCLUDED */
double GDALRATGetValueAsDouble(GDALRasterAttributeTableH, int, int)
Fetch field value as a double.
Definition: gdal_rat.cpp:1650
int GDALRATGetColOfUsage(GDALRasterAttributeTableH, GDALRATFieldUsage)
Fetch column index for given usage.
Definition: gdal_rat.cpp:1436
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:200
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:508
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:2649
Definition: gdal.h:115
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:882
double dfMIN_LAT
Definition: gdal.h:1032
Definition: gdal.h:1090
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:983
CPLErr GDALReadBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Read a block of image data efficiently.
Definition: gdalrasterband.cpp:555
GDALDataType
Definition: gdal.h:60
CPLErr GDALComputeRasterStatistics(GDALRasterBandH, int bApproxOK, double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Compute image statistics.
Definition: gdalrasterband.cpp:5351
Definition: gdal.h:1084
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2192
Definition: gdal.h:72
char * pszInfo
Informational message or "".
Definition: gdal.h:566
Definition: gdal.h:1102
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:711
Document node structure.
Definition: cpl_minixml.h:66
Definition: gdal.h:1092
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:3632
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, CSLConstList papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition: gdal_rat.cpp:288
Definitions for CPL mini XML Parser/Serializer.
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:569
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2346
Definition: gdal.h:1096
Definition: gdal.h:1242
CPLErr GDALDatasetAdviseRead(GDALDatasetH hDS, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition: gdaldataset.cpp:2324
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:130
Definition: gdal.h:1078
Definition: gdal.h:201
Definition: gdal.h:62
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2496
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, CSLConstList, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp:972
Definition: gdal.h:219
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2329
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:396
CPLErr GDALSetRasterOffset(GDALRasterBandH hBand, double dfNewOffset)
Set scaling offset.
Definition: gdalrasterband.cpp:2483
double GDALAdjustValueToDataType(GDALDataType eDT, double dfValue, int *pbClamped, int *pbRounded)
Adjust a value to the output data type.
Definition: gdal_misc.cpp:685
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:5785
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:270
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
int bFloatingPointWindowValidity
Definition: gdal.h:164
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1758
CPLErr GDALDatasetCopyWholeRaster(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions, GDALProgressFunc pfnProgress, void *pProgressData) CPL_WARN_UNUSED_RESULT
Copy all dataset raster data.
Definition: rasterio.cpp:4363
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1274
Definition: gdal.h:206
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1105
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, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Sets up an asynchronous data request.
Definition: gdaldataset.cpp:3343
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:2024
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
Definition: gdal.h:198
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2404
CPLErr GDALSetRasterUnitType(GDALRasterBandH hBand, const char *pszNewValue)
Set unit type.
Definition: gdalrasterband.cpp:2685
GDALAsyncStatusType GDALGetAsyncStatusTypeByName(const char *)
Get AsyncStatusType by symbolic name.
Definition: gdal_misc.cpp:790
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:2229
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Build raster overview(s)
Definition: gdaldataset.cpp:1501
Definition: gdal.h:121
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
Definition: gdal.h:1094
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:972
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:3341
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1404
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:384
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1076
Definition: gdal.h:63
Definition: gdal.h:66
const char * GDALGetDriverHelpTopic(GDALDriverH)
Return the URL to the help that describes the driver.
Definition: gdaldriver.cpp:1488
void GDALDeregisterDriver(GDALDriverH)
Deregister the passed driver.
Definition: gdaldrivermanager.cpp:568
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:836
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:1020
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4091
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3036
Definition: gdal.h:1087
Definition: gdal.h:1100
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2590
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:3713
double dfLONG_SCALE
Definition: gdal.h:1023
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2305
int GDALRATGetValueAsInt(GDALRasterAttributeTableH, int, int)
Fetch field value as a integer.
Definition: gdal_rat.cpp:1591
int GDALHasArbitraryOverviews(GDALRasterBandH)
Check for arbitrary overviews.
Definition: gdalrasterband.cpp:2152
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:5829
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5693
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2013
GDALDriverH GDALGetDriverByName(const char *)
Fetch a driver based on the short name.
Definition: gdaldrivermanager.cpp:612
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:372
Definition: gdal.h:1098
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:128
int GDALDataTypeIsConversionLossy(GDALDataType eTypeFrom, GDALDataType eTypeTo)
Is conversion from eTypeFrom to eTypeTo potentially lossy.
Definition: gdal_misc.cpp:502
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1513
int GDALExtractRPCInfo(CSLConstList, GDALRPCInfo *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3401
GDALRWFlag
Definition: gdal.h:119
double dfMIN_LONG
Definition: gdal.h:1031
int nVersion
Definition: gdal.h:150
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2856
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:255
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:786
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:215
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, CSLConstList papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:568
Color tuple.
Definition: gdal.h:1044
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:6568
Definition: gdal.h:204
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:878
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1532
Structure to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1012
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1756
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:390
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1457
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:258
char ** GDALGetRasterCategoryNames(GDALRasterBandH)
Fetch the list of category names for this raster.
Definition: gdalrasterband.cpp:1520
const char * GDALGetPaletteInterpretationName(GDALPaletteInterp)
Get name of palette interpretation.
Definition: gdal_misc.cpp:864
OGRLayerH GDALDatasetCreateLayer(GDALDatasetH, const char *, OGRSpatialReferenceH, OGRwkbGeometryType, CSLConstList)
This function attempts to create a new layer on the dataset with the indicated name, coordinate system, geometry type.
Definition: gdaldataset.cpp:3901
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:4690
Definition: gdal.h:61
Definition: gdal.h:1089
Definition: gdal.h:1085
double dfHEIGHT_SCALE
Definition: gdal.h:1024
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:999
double dfMAX_LAT
Definition: gdal.h:1034
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:438
GDALRATTableType
RAT table type (thematic or athematic)
Definition: gdal.h:1108
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, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalvirtualmem.cpp:1086
void * GDALGetInternalHandle(GDALDatasetH, const char *)
Fetch a format specific internally meaningful handle.
Definition: gdaldataset.cpp:1039
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:794
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:6143
Definition: gdal.h:196
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset. ...
Definition: gdal_rat.cpp:1927
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1355
Definition: gdal.h:1238
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:766
short c1
Definition: gdal.h:1047
Definition: gdal.h:134
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:239
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:120
short c3
Definition: gdal.h:1053
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:3255
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:510
Definition: gdal.h:75
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:2186
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1964
double dfLAT_OFF
Definition: gdal.h:1016
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:825
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2183
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating? (might be complex)
Definition: gdal_misc.cpp:418
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:577
Definition: gdal.h:137
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:549
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:1191
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:761
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1344
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:3656
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:760
void GDALSwapWordsEx(void *pData, int nWordSize, size_t nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1907
GDALDriverH GDALIdentifyDriver(const char *pszFilename, CSLConstList papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1975
short c2
Definition: gdal.h:1050
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4033
double dfXOff
Definition: gdal.h:166
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:6664
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1474
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:273
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:3407
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2220
double dfHEIGHT_OFF
Definition: gdal.h:1018
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:565
Definition: gdal.h:1095
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:358
Definition: gdal.h:202
Definition: gdal.h:208
Definition: gdal.h:65
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6322
Definition: gdal.h:138
Definition: gdal.h:1110
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1465
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:4051
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:175
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:317
void * pProgressData
Definition: gdal.h:158
Definition: gdal.h:194
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:378
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:3063
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition: gdalrasterband.cpp:1572
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, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:959
Definition: gdal.h:1097
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1184
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1034
Definition: gdal.h:1240
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:100
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp:1624
void GDALRATSetRowCount(GDALRasterAttributeTableH, int)
Set row count.
Definition: gdal_rat.cpp:332
void GDALSetCacheMax64(GIntBig nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:146
void GDALDestroyRasterAttributeTable(GDALRasterAttributeTableH)
Destroys a RAT.
Definition: gdal_rat.cpp:1226
GDALRATTableType GDALRATGetTableType(GDALRasterAttributeTableH hRAT)
Get Rat Table Type.
Definition: gdal_rat.cpp:571
Definition: gdal.h:130
CPLErr GDALCopyDatasetFiles(GDALDriverH, const char *pszNewName, const char *pszOldName)
Copy the files of a dataset.
Definition: gdaldriver.cpp:1398
CPLErr GDALRATCreateColumn(GDALRasterAttributeTableH, const char *, GDALRATFieldType, GDALRATFieldUsage)
Create new column.
Definition: gdal_rat.cpp:456
Definition: gdal.h:64
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, CSLConstList)
Duplicate an existing layer.
Definition: gdaldataset.cpp:3949
int GDALLoadWorldFile(const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1861
GDALProgressFunc pfnProgress
Definition: gdal.h:156
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:267
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
Definition: gdal.h:207
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:707
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition: gdal_rat.cpp:591
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:626
CPL error handling services.
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:74
CPLXMLNode * GDALGetJPEG2000Structure(const char *pszFilename, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Dump the structure of a JPEG2000 file as a XML tree.
Definition: gdaljp2structure.cpp:1579
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:174
double dfYSize
Definition: gdal.h:172
Definition: gdal.h:195
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:3743
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1186
double dfLONG_OFF
Definition: gdal.h:1017
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:475
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:2120
Definition: gdal.h:74
OGRFeatureH GDALDatasetGetNextFeature(GDALDatasetH hDS, OGRLayerH *phBelongingLayer, double *pdfProgressPct, GDALProgressFunc pfnProgress, void *pProgressData)
Fetch the next available feature from this dataset.
Definition: gdaldataset.cpp:6348
Definition: gdal.h:221
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1562
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1357
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2704
CPLErr GDALDeleteRasterNoDataValue(GDALRasterBandH)
Remove the no data value for this band.
Definition: gdalrasterband.cpp:1740
Definition: gdal.h:1109
Structure to pass extra arguments to RasterIO() method.
Definition: gdal.h:147
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2551
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1692
GDALPaletteInterp
Definition: gdal.h:216
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1217
double GDALGetRasterMinimum(GDALRasterBandH, int *pbSuccess)
Fetch the minimum value for this band.
Definition: gdalrasterband.cpp:1922
Definition: gdal.h:1101
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1312
GDALRasterAttributeTableH GDALRATClone(const GDALRasterAttributeTableH)
Copy Raster Attribute Table.
Definition: gdal_rat.cpp:2210
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1276
double dfLINE_SCALE
Definition: gdal.h:1020
double dfLINE_OFF
Definition: gdal.h:1014
CPLErr GDALDeleteDataset(GDALDriverH, const char *)
Delete named dataset.
Definition: gdaldriver.cpp:1146
const char * GDALGetDriverShortName(GDALDriverH)
Return the short name of a driver.
Definition: gdaldriver.cpp:1435
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:3134
unsigned long long GUIntBig
Large unsigned integer type (generally 64-bit unsigned integer type).
Definition: cpl_port.h:251
Definition: gdal.h:192
Definition: gdal.h:1093
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1311
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6233
Definition: gdal.h:220
int GDALValidateCreationOptions(GDALDriverH, CSLConstList papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp:1554
GDALColorTableH GDALGetRasterColorTable(GDALRasterBandH)
Fetch the color table associated with band.
Definition: gdalrasterband.cpp:2055
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2632
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:948
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2108
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:261
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1244
int GDALGetRasterXSize(GDALDatasetH)
Fetch raster width in pixels.
Definition: gdaldataset.cpp:673
const char * GDALGetColorInterpretationName(GDALColorInterp)
Get name of color interpretation.
Definition: gdal_misc.cpp:904
int GDALARLockBuffer(GDALAsyncReaderH hARIO, double dfTimeout)
Lock image buffer.
Definition: gdaldefaultasync.cpp:233
int GDALGetCacheMax(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:200
void GDALClose(GDALDatasetH)
Close GDAL dataset.
Definition: gdaldataset.cpp:3061
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1107
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:6450
GDALDriverH GDALCreateDriver(void)
Create a GDALDriver.
Definition: gdaldriver.cpp:96
void * GDALMajorObjectH
Opaque type used for the C bindings of the C++ GDALMajorObject class.
Definition: gdal.h:252
void * OGRGeometryH
Opaque type for a geometry.
Definition: ogr_api.h:60
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:412
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1072
void GDALRATSetValueAsDouble(GDALRasterAttributeTableH, int, int, double)
Set field value from double.
Definition: gdal_rat.cpp:1894
Definition: gdal.h:70
OGRLayerH GDALDatasetGetLayer(GDALDatasetH, int)
Fetch a layer by index.
Definition: gdaldataset.cpp:3684
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:301
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:827
double dfSAMP_OFF
Definition: gdal.h:1015
Definition: gdal.h:199
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
Set default histogram.
Definition: gdalrasterband.cpp:5741
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:1012
double dfSAMP_SCALE
Definition: gdal.h:1021
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2113
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:563
void GDALSwapWords(void *pData, int nWordSize, int nWordCount, int nWordSkip)
Byte swap words in-place.
Definition: rasterio.cpp:1816
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:3534
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1437
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:136
Definition: gdal.h:131
Definition: gdal.h:1086
Definition: gdal.h:133
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:6762
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6121
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:504
Definition: gdal.h:197
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1235
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:2091
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, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1669
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, CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1554
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1955
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2331
GDALAccess
Definition: gdal.h:113
short c4
Definition: gdal.h:1056
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2234
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2801
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:1833
Definition: gdal.h:69
Definition: gdal.h:1077
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:339
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1083
double dfLAT_SCALE
Definition: gdal.h:1022
Definition: gdal.h:203
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:248
void GDALRATSetValueAsInt(GDALRasterAttributeTableH, int, int, int)
Set field value from integer.
Definition: gdal_rat.cpp:1825
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:1273
Definition: gdal.h:1091
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:264
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:574
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2759
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:1033
Definition: gdal.h:1099
int GDALDataTypeIsInteger(GDALDataType)
Is data type integer? (might be complex)
Definition: gdal_misc.cpp:445
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:268
Definition: gdal.h:205
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:6623
Definition: gdal.h:135
double dfXSize
Definition: gdal.h:170
CPLErr GDALRasterAdviseRead(GDALRasterBandH hRB, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions)
Advise driver of upcoming read requests.
Definition: gdalrasterband.cpp:3697
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:350
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:115
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:290
GDALColorInterp
Definition: gdal.h:190
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:305
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2539
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:998
double dfYOff
Definition: gdal.h:168
Definition: gdal.h:209
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2308
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:571
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:3605
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:3146
Definition: gdal.h:132
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2433
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:3281
Definition: gdal.h:71
Definition: gdal.h:193
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:4003
int GDALFlushCacheBlock(void)
Try to flush one cached raster block.
Definition: gdalrasterblock.cpp:372
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:3358
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:3395
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:894
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition: gdal_misc.cpp:281
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4062
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:303
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:5884
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2419
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:233
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:114
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1157
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:580
Definition: gdal.h:1079
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:153
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2362
Definition: gdal.h:218
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT
Construct empty table.
Definition: gdal_rat.cpp:1201
void GDALRATRemoveStatistics(GDALRasterAttributeTableH)
Remove Statistics from RAT.
Definition: gdal_rat.cpp:2250
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:5425
Ground Control Point.
Definition: gdal.h:560
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:355
GDALDatasetH GDALGetBandDataset(GDALRasterBandH)
Fetch the owning dataset handle.
Definition: gdalrasterband.cpp:2842
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2722
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:6675
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1142
GDALRATFieldType GDALRATGetTypeOfCol(GDALRasterAttributeTableH, int)
Fetch column type.
Definition: gdal_rat.cpp:1396
int GDALGetCacheUsed(void)
Get cache memory used.
Definition: gdalrasterblock.cpp:325
int GDALLoadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1607
Definition: gdal.h:1088
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3915
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:931
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
Definition: gdal.h:120
GDALDatasetH GDALCreate(GDALDriverH hDriver, const char *, int, int, int, GDALDataType, CSLConstList) CPL_WARN_UNUSED_RESULT
Create a new dataset with this driver.
Definition: gdaldriver.cpp:306

Generated for GDAL by doxygen 1.8.13.