GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: gdal.h 40706 2017-11-14 10:45:06Z rouault $
3  *
4  * Project: GDAL Core
5  * Purpose: GDAL Core C/Public declarations.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 1998, 2002 Frank Warmerdam
10  * Copyright (c) 2007-2014, Even Rouault <even dot rouault at mines-paris dot org>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef GDAL_H_INCLUDED
32 #define GDAL_H_INCLUDED
33 
40 #ifndef DOXYGEN_SKIP
41 #include "gdal_version.h"
42 #include "cpl_port.h"
43 #include "cpl_error.h"
44 #include "cpl_progress.h"
45 #include "cpl_virtualmem.h"
46 #include "cpl_minixml.h"
47 #include "ogr_api.h"
48 #endif
49 
50 /* -------------------------------------------------------------------- */
51 /* Significant constants. */
52 /* -------------------------------------------------------------------- */
53 
55 
57 typedef enum { GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5,
64  /* TODO?(#6879): GDT_UInt64 */
65  /* TODO?(#6879): GDT_Int64 */ GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9,
70  /* TODO?(#6879): GDT_CInt64 */ GDT_CFloat32 = 10, GDT_CFloat64 = 11,
73  GDT_TypeCount = 12 /* maximum type # + 1 */
74 } GDALDataType;
75 
76 int CPL_DLL CPL_STDCALL GDALGetDataTypeSize( GDALDataType ); // Deprecated.
77 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBits( GDALDataType eDataType );
78 int CPL_DLL CPL_STDCALL GDALGetDataTypeSizeBytes( GDALDataType );
79 int CPL_DLL CPL_STDCALL GDALDataTypeIsComplex( GDALDataType );
80 int CPL_DLL CPL_STDCALL GDALDataTypeIsFloating( GDALDataType );
81 int CPL_DLL CPL_STDCALL GDALDataTypeIsSigned( GDALDataType );
82 const char CPL_DLL * CPL_STDCALL GDALGetDataTypeName( GDALDataType );
83 GDALDataType CPL_DLL CPL_STDCALL GDALGetDataTypeByName( const char * );
85 GDALDataType CPL_DLL CPL_STDCALL GDALDataTypeUnionWithValue( GDALDataType eDT, double dValue, int bComplex );
86 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataType( int nBits, int bSigned, int bFloating, int bComplex );
87 GDALDataType CPL_DLL CPL_STDCALL GDALFindDataTypeForValue( double dValue, int bComplex );
88 double CPL_DLL GDALAdjustValueToDataType( GDALDataType eDT, double dfValue, int* pbClamped, int* pbRounded );
90 
94 typedef enum
95 {
96  GARIO_PENDING = 0,
97  GARIO_UPDATE = 1,
98  GARIO_ERROR = 2,
99  GARIO_COMPLETE = 3,
100  GARIO_TypeCount = 4
102 
103 const char CPL_DLL * CPL_STDCALL GDALGetAsyncStatusTypeName( GDALAsyncStatusType );
104 GDALAsyncStatusType CPL_DLL CPL_STDCALL GDALGetAsyncStatusTypeByName( const char * );
105 
107 typedef enum { GA_ReadOnly = 0, GA_Update = 1
110 } GDALAccess;
111 
113 typedef enum { GF_Read = 0, GF_Write = 1
116 } GDALRWFlag;
117 
118 /* NOTE: values are selected to be consistent with GDALResampleAlg of alg/gdalwarper.h */
122 typedef enum
133  /* NOTE: values 8 to 12 are reserved for max,min,med,Q1,Q3 */
135 
136 /* NOTE to developers: only add members, and if so edit INIT_RASTERIO_EXTRA_ARG */
137 /* and INIT_RASTERIO_EXTRA_ARG */
141 typedef struct
142 {
144  int nVersion;
145 
148 
150  GDALProgressFunc pfnProgress;
153 
160  double dfXOff;
162  double dfYOff;
164  double dfXSize;
166  double dfYSize;
168 
169 #ifndef DOXYGEN_SKIP
170 #define RASTERIO_EXTRA_ARG_CURRENT_VERSION 1
171 #endif
172 
176 #define INIT_RASTERIO_EXTRA_ARG(s) \
177  do { (s).nVersion = RASTERIO_EXTRA_ARG_CURRENT_VERSION; \
178  (s).eResampleAlg = GRIORA_NearestNeighbour; \
179  (s).pfnProgress = NULL; \
180  (s).pProgressData = NULL; \
181  (s).bFloatingPointWindowValidity = FALSE; } while(0)
182 
184 typedef enum
205 
206 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
207 GDALColorInterp CPL_DLL GDALGetColorInterpretationByName( const char *pszName );
208 
210 typedef enum
211 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
217 
219 
220 /* "well known" metadata items. */
221 
224 #define GDALMD_AREA_OR_POINT "AREA_OR_POINT"
225 
227 # define GDALMD_AOP_AREA "Area"
228 
230 # define GDALMD_AOP_POINT "Point"
231 
232 /* -------------------------------------------------------------------- */
233 /* GDAL Specific error codes. */
234 /* */
235 /* error codes 100 to 299 reserved for GDAL. */
236 /* -------------------------------------------------------------------- */
237 #ifndef DOXYGEN_SKIP
238 #define CPLE_WrongFormat (CPLErrorNum)200
239 #endif
240 
241 /* -------------------------------------------------------------------- */
242 /* Define handle types related to various internal classes. */
243 /* -------------------------------------------------------------------- */
244 
246 typedef void *GDALMajorObjectH;
247 
249 typedef void *GDALDatasetH;
250 
252 typedef void *GDALRasterBandH;
253 
255 typedef void *GDALDriverH;
256 
258 typedef void *GDALColorTableH;
259 
262 
264 typedef void *GDALAsyncReaderH;
265 
268 
269 /* ==================================================================== */
270 /* Registration/driver related. */
271 /* ==================================================================== */
272 
274 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
275 
277 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
278 
280 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
281 
283 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
284 
289 #define GDAL_DMD_CONNECTION_PREFIX "DMD_CONNECTION_PREFIX"
290 
294 #define GDAL_DMD_EXTENSIONS "DMD_EXTENSIONS"
295 
297 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
298 
302 #define GDAL_DMD_OPENOPTIONLIST "DMD_OPENOPTIONLIST"
303 
305 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
306 
310 #define GDAL_DMD_CREATIONFIELDDATATYPES "DMD_CREATIONFIELDDATATYPES"
311 
313 #define GDAL_DMD_SUBDATASETS "DMD_SUBDATASETS"
314 
316 #define GDAL_DCAP_OPEN "DCAP_OPEN"
317 
326 #define GDAL_DCAP_CREATE "DCAP_CREATE"
327 
336 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
337 
339 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
340 
344 #define GDAL_DCAP_RASTER "DCAP_RASTER"
345 
349 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
350 
354 #define GDAL_DCAP_GNM "DCAP_GNM"
355 
359 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
360 
364 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
365 
369 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
370 
376 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
377 
381 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
382 
383 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
384 
385 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
386  const char *, int, int, int, GDALDataType,
387  char ** ) CPL_WARN_UNUSED_RESULT;
388 GDALDatasetH CPL_DLL CPL_STDCALL
389 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
390  int, char **, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
391 
392 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
393  char ** papszFileList );
394 
395 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
396  const char *pszFilename, unsigned int nIdentifyFlags,
397  const char *const *papszAllowedDrivers, const char *const *papszFileList);
398 
399 GDALDatasetH CPL_DLL CPL_STDCALL
400 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
401 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
402 
403 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
404 /* equals to GA_ReadOnly and GA_Update */
405 
410 #define GDAL_OF_READONLY 0x00
411 
416 #define GDAL_OF_UPDATE 0x01
417 
422 #define GDAL_OF_ALL 0x00
423 
428 #define GDAL_OF_RASTER 0x02
429 
434 #define GDAL_OF_VECTOR 0x04
435 
440 #define GDAL_OF_GNM 0x08
441 
442 /* Some space for GDAL 3.0 new types ;-) */
443 /*#define GDAL_OF_OTHER_KIND1 0x08 */
444 /*#define GDAL_OF_OTHER_KIND2 0x10 */
445 #ifndef DOXYGEN_SKIP
446 #define GDAL_OF_KIND_MASK 0x1E
447 #endif
448 
453 #define GDAL_OF_SHARED 0x20
454 
459 #define GDAL_OF_VERBOSE_ERROR 0x40
460 
467 #define GDAL_OF_INTERNAL 0x80
468 
478 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
479 
488 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
489 
498 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
499 
500 #ifndef DOXYGEN_SKIP
501 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
502  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
503 #define GDAL_OF_RESERVED_1 0x300
504 
506 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
507 #endif
508 
509 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
510  unsigned int nOpenFlags,
511  const char* const* papszAllowedDrivers,
512  const char* const* papszOpenOptions,
513  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
514 
515 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
516 
517 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
518 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
519 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
520 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
521 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
522 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
523 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
524 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
525 #ifndef DOXYGEN_SKIP
526 void CPL_DLL GDALDestroy( void );
527 #endif
528 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
529 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
530  const char * pszNewName,
531  const char * pszOldName );
532 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
533  const char * pszNewName,
534  const char * pszOldName);
535 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
536  char** papszCreationOptions);
537 
538 /* The following are deprecated */
539 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
540 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
541 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
542 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
543 
544 /* ==================================================================== */
545 /* GDAL_GCP */
546 /* ==================================================================== */
547 
549 typedef struct
550 {
552  char *pszId;
553 
555  char *pszInfo;
556 
558  double dfGCPPixel;
560  double dfGCPLine;
561 
563  double dfGCPX;
564 
566  double dfGCPY;
567 
569  double dfGCPZ;
570 } GDAL_GCP;
571 
572 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
573 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
574 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
575 
576 int CPL_DLL CPL_STDCALL
577 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
578  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
579 int CPL_DLL CPL_STDCALL
580 GDALInvGeoTransform( double *padfGeoTransformIn,
581  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
582 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
583  double *, double * );
584 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
585  const double *padfGeoTransform2,
586  double *padfGeoTransformOut);
587 
588 /* ==================================================================== */
589 /* major objects (dataset, and, driver, drivermanager). */
590 /* ==================================================================== */
591 
592 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
593 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
594 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, char **,
595  const char * );
596 const char CPL_DLL * CPL_STDCALL
597 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
598 CPLErr CPL_DLL CPL_STDCALL
599 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
600  const char * );
601 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
602 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
603 
604 /* ==================================================================== */
605 /* GDALDataset class ... normally this represents one file. */
606 /* ==================================================================== */
607 
609 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
610 
611 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
612 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
613 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
614 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
615 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
616 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
617 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
618 
619 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
620  char **papszOptions );
621 
622 GDALAsyncReaderH CPL_DLL CPL_STDCALL
623 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
624  int nXSize, int nYSize,
625  void *pBuf, int nBufXSize, int nBufYSize,
626  GDALDataType eBufType, int nBandCount, int* panBandMap,
627  int nPixelSpace, int nLineSpace, int nBandSpace,
628  char **papszOptions) CPL_WARN_UNUSED_RESULT;
629 
630 void CPL_DLL CPL_STDCALL
631 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
632 
633 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
634  GDALDatasetH hDS, GDALRWFlag eRWFlag,
635  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
636  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
637  int nBandCount, int *panBandCount,
638  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
639 
640 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
641  GDALDatasetH hDS, GDALRWFlag eRWFlag,
642  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
643  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
644  int nBandCount, int *panBandCount,
645  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
647 
648 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
649  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
650  int nBXSize, int nBYSize, GDALDataType eBDataType,
651  int nBandCount, int *panBandCount, char **papszOptions );
652 
653 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
654 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
655 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
656 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
657 
658 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
659 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
660 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
661 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
662  const char * );
663 
664 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
665 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
666 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
667 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
668 
669 CPLErr CPL_DLL CPL_STDCALL
670 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
671  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
672 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
673 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
674 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
675 
676 CPLErr CPL_DLL CPL_STDCALL
677  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
678 
679 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
680  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions,
681  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
682 
683 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
684  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
685  const char * const * constpapszOptions,
686  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
687 
688 CPLErr CPL_DLL
690  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
691  const char *pszResampling,
692  GDALProgressFunc pfnProgress, void *pProgressData );
693 
694 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
695 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
696 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
697 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
698 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
700  char ** );
701 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
702  char ** );
703 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
704 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature( GDALDatasetH hDS,
705  OGRLayerH* phBelongingLayer,
706  double* pdfProgressPct,
707  GDALProgressFunc pfnProgress,
708  void* pProgressData );
709 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
710 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
711  OGRGeometryH, const char * );
712 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
713 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
714 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
715 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
716 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
717 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
718 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
719 
720 /* ==================================================================== */
721 /* GDALRasterBand ... one band/channel in a dataset. */
722 /* ==================================================================== */
723 
728 #define SRCVAL(papoSource, eSrcType, ii) \
729  (eSrcType == GDT_Byte ? \
730  ((GByte *)papoSource)[ii] : \
731  (eSrcType == GDT_Float32 ? \
732  ((float *)papoSource)[ii] : \
733  (eSrcType == GDT_Float64 ? \
734  ((double *)papoSource)[ii] : \
735  (eSrcType == GDT_Int32 ? \
736  ((GInt32 *)papoSource)[ii] : \
737  (eSrcType == GDT_UInt16 ? \
738  ((GUInt16 *)papoSource)[ii] : \
739  (eSrcType == GDT_Int16 ? \
740  ((GInt16 *)papoSource)[ii] : \
741  (eSrcType == GDT_UInt32 ? \
742  ((GUInt32 *)papoSource)[ii] : \
743  (eSrcType == GDT_CInt16 ? \
744  ((GInt16 *)papoSource)[ii * 2] : \
745  (eSrcType == GDT_CInt32 ? \
746  ((GInt32 *)papoSource)[ii * 2] : \
747  (eSrcType == GDT_CFloat32 ? \
748  ((float *)papoSource)[ii * 2] : \
749  (eSrcType == GDT_CFloat64 ? \
750  ((double *)papoSource)[ii * 2] : 0)))))))))))
751 
754 typedef CPLErr
755 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
756  int nBufXSize, int nBufYSize,
757  GDALDataType eSrcType, GDALDataType eBufType,
758  int nPixelSpace, int nLineSpace);
759 
760 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
761 void CPL_DLL CPL_STDCALL
762 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
763 
764 CPLErr CPL_DLL CPL_STDCALL
765 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
766  int *pnXValid, int *pnYValid );
767 
768 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
769  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
770  int nBXSize, int nBYSize, GDALDataType eBDataType, char **papszOptions );
771 
772 CPLErr CPL_DLL CPL_STDCALL
773 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
774  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
775  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
776  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
777 CPLErr CPL_DLL CPL_STDCALL
778 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
779  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
780  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
781  GSpacing nPixelSpace, GSpacing nLineSpace,
783 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
784 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
785 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
786 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
787 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
788 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
789 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
790 
791 GDALColorInterp CPL_DLL CPL_STDCALL
792 GDALGetRasterColorInterpretation( GDALRasterBandH );
793 CPLErr CPL_DLL CPL_STDCALL
795 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );
796 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
797 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
798 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
799 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
800 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
801 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
802 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
803 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
804 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
805 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
806 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
807 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
808  GDALRasterBandH, int bApproxOK, int bForce,
809  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
810 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
811  GDALRasterBandH, int bApproxOK,
812  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
813  GDALProgressFunc pfnProgress, void *pProgressData );
814 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
815  GDALRasterBandH hBand,
816  double dfMin, double dfMax, double dfMean, double dfStdDev );
817 
818 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
819 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
820 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
821 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
822 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
823 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
824 void CPL_DLL CPL_STDCALL
825 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
826  double adfMinMax[2] );
827 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
828 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
829  double dfMin, double dfMax,
830  int nBuckets, int *panHistogram,
831  int bIncludeOutOfRange, int bApproxOK,
832  GDALProgressFunc pfnProgress,
833  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
834 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
835  double dfMin, double dfMax,
836  int nBuckets, GUIntBig *panHistogram,
837  int bIncludeOutOfRange, int bApproxOK,
838  GDALProgressFunc pfnProgress,
839  void * pProgressData );
840 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
841  double *pdfMin, double *pdfMax,
842  int *pnBuckets, int **ppanHistogram,
843  int bForce,
844  GDALProgressFunc pfnProgress,
845  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
846 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
847  double *pdfMin, double *pdfMax,
848  int *pnBuckets, GUIntBig **ppanHistogram,
849  int bForce,
850  GDALProgressFunc pfnProgress,
851  void * pProgressData );
852 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
853  double dfMin, double dfMax,
854  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
855 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
856  double dfMin, double dfMax,
857  int nBuckets, GUIntBig *panHistogram );
858 int CPL_DLL CPL_STDCALL
859 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
860 GDALRasterBandH CPL_DLL CPL_STDCALL
861 GDALGetRasterSampleOverview( GDALRasterBandH, int );
862 GDALRasterBandH CPL_DLL CPL_STDCALL
863 GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig );
864 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
865  double dfRealValue, double dfImaginaryValue );
866 CPLErr CPL_DLL CPL_STDCALL
867 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
868  double *pdfMean, double *pdfStdDev,
869  GDALProgressFunc pfnProgress,
870  void *pProgressData );
871 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
872  int nOverviewCount,
873  GDALRasterBandH *pahOverviews,
874  GDALProgressFunc pfnProgress,
875  void *pProgressData );
876 
877 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
878  GDALRasterBandH hBand );
879 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
881 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
882  GDALDerivedPixelFunc pfnPixelFunc );
883 
884 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
885 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
886 CPLErr CPL_DLL CPL_STDCALL
887  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
888 
890 #define GMF_ALL_VALID 0x01
891 
893 #define GMF_PER_DATASET 0x02
894 
896 #define GMF_ALPHA 0x04
897 
899 #define GMF_NODATA 0x08
900 
904 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
905 
910 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
911 
917 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
918 
919 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
920  int nXOff, int nYOff,
921  int nXSize, int nYSize,
922  int nMaskFlagStop,
923  double* pdfDataPct );
924 
925 /* ==================================================================== */
926 /* GDALAsyncReader */
927 /* ==================================================================== */
928 
929 GDALAsyncStatusType CPL_DLL CPL_STDCALL
930 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
931  int* pnXBufOff, int* pnYBufOff,
932  int* pnXBufSize, int* pnYBufSize );
933 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
934  double dfTimeout);
935 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
936 
937 /* -------------------------------------------------------------------- */
938 /* Helper functions. */
939 /* -------------------------------------------------------------------- */
940 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
941  int nOptions );
942 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
943  int nWordSkip );
944 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
945  int nWordSkip );
946 
947 void CPL_DLL CPL_STDCALL
948  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
949  GDALDataType eSrcType, int nSrcPixelOffset,
950  void * CPL_RESTRICT pDstData,
951  GDALDataType eDstType, int nDstPixelOffset,
952  int nWordCount );
953 
954 void CPL_DLL
955 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
956  GByte *pabyDstData, int nDstOffset, int nDstStep,
957  int nBitCount, int nStepCount );
958 
959 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
960 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
961  double * );
962 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
963  double * );
964 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
965  int *, GDAL_GCP ** );
966 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
967  int *, GDAL_GCP ** );
968 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
969  int *, GDAL_GCP ** );
970 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
971  char **, int *, GDAL_GCP ** );
972 
973 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
974 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
975 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
976 
977 /* Note to developers : please keep this section in sync with ogr_core.h */
978 
979 #ifndef GDAL_VERSION_INFO_DEFINED
980 #ifndef DOXYGEN_SKIP
981 #define GDAL_VERSION_INFO_DEFINED
982 #endif
983 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
984 #endif
985 
986 #ifndef GDAL_CHECK_VERSION
987 
988 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
989  const char* pszCallingComponentName);
990 
994 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
995  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
996 
997 #endif
998 
1001 typedef struct
1002 {
1003  double dfLINE_OFF;
1004  double dfSAMP_OFF;
1005  double dfLAT_OFF;
1006  double dfLONG_OFF;
1007  double dfHEIGHT_OFF;
1009  double dfLINE_SCALE;
1010  double dfSAMP_SCALE;
1011  double dfLAT_SCALE;
1012  double dfLONG_SCALE;
1015  double adfLINE_NUM_COEFF[20];
1016  double adfLINE_DEN_COEFF[20];
1017  double adfSAMP_NUM_COEFF[20];
1018  double adfSAMP_DEN_COEFF[20];
1020  double dfMIN_LONG;
1021  double dfMIN_LAT;
1022  double dfMAX_LONG;
1023  double dfMAX_LAT;
1024 } GDALRPCInfo;
1025 
1026 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( char **, GDALRPCInfo * );
1027 
1028 /* ==================================================================== */
1029 /* Color tables. */
1030 /* ==================================================================== */
1031 
1033 typedef struct
1034 {
1036  short c1;
1037 
1039  short c2;
1040 
1042  short c3;
1043 
1045  short c4;
1046 } GDALColorEntry;
1047 
1048 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT;
1049 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1050 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1051 GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH );
1052 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1053 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1054 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1055 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1056 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1057  int nStartIndex, const GDALColorEntry *psStartColor,
1058  int nEndIndex, const GDALColorEntry *psEndColor );
1059 
1060 /* ==================================================================== */
1061 /* Raster Attribute Table */
1062 /* ==================================================================== */
1063 
1070 
1072 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
1093 
1094 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1095  GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT;
1096 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1097  GDALRasterAttributeTableH );
1098 
1099 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1100 
1101 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1102  GDALRasterAttributeTableH, int );
1103 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1104  GDALRasterAttributeTableH, int );
1105 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1106  GDALRasterAttributeTableH, int );
1107 
1108 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1110 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1111 
1112 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1113  GDALRasterAttributeTableH, int, int);
1114 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1115  GDALRasterAttributeTableH, int, int);
1116 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1117  GDALRasterAttributeTableH, int, int);
1118 
1119 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1120  const char * );
1121 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1122  int );
1123 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1124  double );
1125 
1126 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1127 
1128 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1129  int iField, int iStartRow, int iLength, double *pdfData );
1130 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1131  int iField, int iStartRow, int iLength, int *pnData);
1132 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1133  int iField, int iStartRow, int iLength, char **papszStrList);
1134 
1135 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1136  int );
1137 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
1138  const char *,
1140  GDALRATFieldUsage );
1141 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
1142  double, double );
1143 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1144  double *, double * );
1145 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1146  GDALRasterAttributeTableH, GDALColorTableH );
1147 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1148  GDALRasterAttributeTableH, int nEntryCount );
1149 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1150  FILE * );
1151 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1152  GDALRATClone( GDALRasterAttributeTableH );
1153 
1154 void CPL_DLL* CPL_STDCALL
1155  GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT;
1156 
1157 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1158 
1159 /* ==================================================================== */
1160 /* GDAL Cache Management */
1161 /* ==================================================================== */
1162 
1163 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1164 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1165 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1166 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1167 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1168 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1169 
1170 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1171 
1172 /* ==================================================================== */
1173 /* GDAL virtual memory */
1174 /* ==================================================================== */
1175 
1176 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1177  GDALRWFlag eRWFlag,
1178  int nXOff, int nYOff,
1179  int nXSize, int nYSize,
1180  int nBufXSize, int nBufYSize,
1181  GDALDataType eBufType,
1182  int nBandCount, int* panBandMap,
1183  int nPixelSpace,
1184  GIntBig nLineSpace,
1185  GIntBig nBandSpace,
1186  size_t nCacheSize,
1187  size_t nPageSizeHint,
1188  int bSingleThreadUsage,
1189  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1190 
1191 CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1192  GDALRWFlag eRWFlag,
1193  int nXOff, int nYOff,
1194  int nXSize, int nYSize,
1195  int nBufXSize, int nBufYSize,
1196  GDALDataType eBufType,
1197  int nPixelSpace,
1198  GIntBig nLineSpace,
1199  size_t nCacheSize,
1200  size_t nPageSizeHint,
1201  int bSingleThreadUsage,
1202  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1203 
1204 CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1205  GDALRWFlag eRWFlag,
1206  int *pnPixelSpace,
1207  GIntBig *pnLineSpace,
1208  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1209 
1211 typedef enum
1212 {
1220 
1221 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1222  GDALRWFlag eRWFlag,
1223  int nXOff, int nYOff,
1224  int nXSize, int nYSize,
1225  int nTileXSize, int nTileYSize,
1226  GDALDataType eBufType,
1227  int nBandCount, int* panBandMap,
1228  GDALTileOrganization eTileOrganization,
1229  size_t nCacheSize,
1230  int bSingleThreadUsage,
1231  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1232 
1233 CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1234  GDALRWFlag eRWFlag,
1235  int nXOff, int nYOff,
1236  int nXSize, int nYSize,
1237  int nTileXSize, int nTileYSize,
1238  GDALDataType eBufType,
1239  size_t nCacheSize,
1240  int bSingleThreadUsage,
1241  char **papszOptions ) CPL_WARN_UNUSED_RESULT;
1242 
1243 /* ==================================================================== */
1244 /* VRTPansharpenedDataset class. */
1245 /* ==================================================================== */
1246 
1247 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1248  GDALRasterBandH hPanchroBand,
1249  int nInputSpectralBands,
1250  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1251 
1252 /* =================================================================== */
1253 /* Misc API */
1254 /* ==================================================================== */
1255 
1256 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1257  char** papszOptions) CPL_WARN_UNUSED_RESULT;
1258 
1259 CPL_C_END
1260 
1261 #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:194
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:497
CPLErr GDALAddBand(GDALDatasetH hDS, GDALDataType eType, char **papszOptions)
Add a band to a dataset.
Definition: gdaldataset.cpp:604
GDALDatasetH GDALOpenEx(const char *pszFilename, unsigned int nOpenFlags, const char *const *papszAllowedDrivers, const char *const *papszOpenOptions, const char *const *papszSiblingFiles) CPL_WARN_UNUSED_RESULT
Open a raster or vector file as a GDALDataset.
Definition: gdaldataset.cpp:2665
Definition: gdal.h:109
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:915
double dfMIN_LAT
Definition: gdal.h:1021
Definition: gdal.h:1079
GDALColorInterp GDALGetColorInterpretationByName(const char *pszName)
Get color interpretation by symbolic name.
Definition: gdal_misc.cpp:897
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:1073
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:555
Definition: gdal.h:1091
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:1081
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:3632
Definitions for CPL mini XML Parser/Serializer.
double dfGCPPixel
Pixel (x) location of GCP on raster.
Definition: gdal.h:558
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2257
Definition: gdal.h:1085
Definition: gdal.h:1218
GDALDataType GDALDataTypeUnion(GDALDataType, GDALDataType)
Return the smallest data type that can fully express both input data types.
Definition: gdal_misc.cpp:135
Definition: gdal.h:1067
Definition: gdal.h:195
Definition: gdal.h:59
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2513
Definition: gdal.h:213
const char * GDALDecToDMS(double, const char *, int)
Translate a decimal degrees value to a DMS string with hemisphere.
Definition: gdal_misc.cpp:2240
GDALDriverH GDALGetDriver(int)
Fetch driver by index.
Definition: gdaldrivermanager.cpp:401
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:599
int GDALGetColorEntryAsRGB(GDALColorTableH, int, GDALColorEntry *)
Fetch a table entry in RGB format.
Definition: gdalcolortable.cpp:184
CPLErr GDALSetDefaultHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram)
Set default histogram.
Definition: gdalrasterband.cpp: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:264
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:332
CPLVirtualMem * GDALRasterBandGetTiledVirtualMem(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, size_t nCacheSize, int bSingleThreadUsage, char **papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL rasterband object, with tiling organization.
Definition: gdalvirtualmem.cpp:1659
int bFloatingPointWindowValidity
Definition: gdal.h:158
int GDALReadTabFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for MapInfo .tab files.
Definition: gdal_misc.cpp:1674
int GDALRATGetColumnCount(GDALRasterAttributeTableH)
Fetch table column count.
Definition: gdal_rat.cpp:1196
Definition: gdal.h:200
GDALColorTableH GDALRATTranslateToColorTable(GDALRasterAttributeTableH, int nEntryCount)
Translate to a color table.
Definition: gdal_rat.cpp:1014
int GDALGetColorEntryCount(GDALColorTableH)
Get number of color entries in table.
Definition: gdalcolortable.cpp:317
GDALDriverH GDALIdentifyDriverEx(const char *pszFilename, unsigned int nIdentifyFlags, const char *const *papszAllowedDrivers, const char *const *papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1981
void GDALAllRegister(void)
Register all known configured GDAL drivers.
Definition: gdalallregister.cpp:62
Definition: gdal.h:192
int GDALGCPsToGeoTransform(int nGCPCount, const GDAL_GCP *pasGCPs, double *padfGeoTransform, int bApproxOK) CPL_WARN_UNUSED_RESULT
Generate Geotransform from GCPs.
Definition: gdal_misc.cpp:2315
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:704
GDALDatasetH GDALCreatePansharpenedVRT(const char *pszXML, GDALRasterBandH hPanchroBand, int nInputSpectralBands, GDALRasterBandH *pahInputSpectralBands) CPL_WARN_UNUSED_RESULT
Create a virtual pansharpened dataset.
Definition: vrtpansharpened.cpp:93
void * GDALRATSerializeJSON(GDALRasterAttributeTableH) CPL_WARN_UNUSED_RESULT
Serialize Raster Attribute Table in Json format.
Definition: gdal_rat.cpp:2054
CPLErr GDALBuildOverviews(GDALDatasetH, const char *, int, int *, int, int *, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Build raster overview(s)
Definition: gdaldataset.cpp:1534
Definition: gdal.h:115
Definition: gdal.h:1083
#define CPL_RESTRICT
restrict keyword to declare that pointers do not alias
Definition: cpl_port.h:1020
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:1438
CPLErr GDALRasterIO(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nPixelSpace, int nLineSpace) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp:410
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1065
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:573
const char * GDALGetProjectionRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:869
CPLErr GDALAddDerivedBandPixelFunc(const char *pszName, GDALDerivedPixelFunc pfnPixelFunc)
This adds a pixel function to the global list of available pixel functions for derived bands...
Definition: vrtderivedrasterband.cpp:1016
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4089
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3034
Definition: gdal.h:1076
Definition: gdal.h:1089
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:3713
double dfLONG_SCALE
Definition: gdal.h:1012
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2216
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:617
int GDALGetDataTypeSize(GDALDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:377
Definition: gdal.h:1087
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:122
const char * GDALGetDriverCreationOptionList(GDALDriverH)
Return the list of creation options of the driver.
Definition: gdaldriver.cpp:1470
GDALRWFlag
Definition: gdal.h:113
double dfMIN_LONG
Definition: gdal.h:1020
int nVersion
Definition: gdal.h:144
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2705
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:755
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:249
CPLErr GDALGetActualBlockSize(GDALRasterBandH, int nXBlockOff, int nYBlockOff, int *pnXValid, int *pnYValid)
Retrieve the actual block size for a given block offset.
Definition: gdalrasterband.cpp:811
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
Color tuple.
Definition: gdal.h:1033
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:6612
Definition: gdal.h:198
void GDALDestroyDriverManager(void)
Destroy the driver manager.
Definition: gdaldrivermanager.cpp:890
const char * GDALRATGetValueAsString(GDALRasterAttributeTableH, int, int)
Fetch field value as a string.
Definition: gdal_rat.cpp:1454
Strucutre to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:1001
void GDALRATSetValueAsString(GDALRasterAttributeTableH, int, int, const char *)
Set field value from string.
Definition: gdal_rat.cpp:1678
int GDALDataTypeIsComplex(GDALDataType)
Is data type complex?
Definition: gdal_misc.cpp:395
const char * GDALGetDriverLongName(GDALDriverH)
Return the long name of a driver.
Definition: gdaldriver.cpp:1414
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:252
OGRLayerH GDALDatasetCopyLayer(GDALDatasetH, OGRLayerH, const char *, char **)
Duplicate an existing layer.
Definition: gdaldataset.cpp:3948
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:778
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:4624
Definition: gdal.h:58
Definition: gdal.h:1078
Definition: gdal.h:1074
double dfHEIGHT_SCALE
Definition: gdal.h:1013
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:908
double dfMAX_LAT
Definition: gdal.h:1023
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:190
int GDALRATChangesAreWrittenToFile(GDALRasterAttributeTableH hRAT)
Determine whether changes made to this RAT are reflected directly in the dataset. ...
Definition: gdal_rat.cpp:1849
GDALRATFieldUsage GDALRATGetUsageOfCol(GDALRasterAttributeTableH, int)
Fetch column usage value.
Definition: gdal_rat.cpp:1277
Definition: gdal.h:1214
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:1036
Definition: gdal.h:128
CPLErr GDALSetMetadata(GDALMajorObjectH, char **, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
GIntBig GDALGetCacheMax64(void)
Get maximum cache memory.
Definition: gdalrasterblock.cpp:238
void GDALSetCacheMax(int nBytes)
Set maximum cache memory.
Definition: gdalrasterblock.cpp:119
short c3
Definition: gdal.h:1042
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:3194
int GDALRegisterDriver(GDALDriverH)
Register a driver for use.
Definition: gdaldrivermanager.cpp:515
Definition: gdal.h:72
CPLErr GDALSetMetadataItem(GDALMajorObjectH, const char *, const char *, const char *)
Set single metadata item.
Definition: gdalmajorobject.cpp:415
void GDALGetOpenDatasets(GDALDatasetH **hDS, int *pnCount)
Fetch all open GDAL dataset handles.
Definition: gdaldataset.cpp:2205
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1985
double dfLAT_OFF
Definition: gdal.h:1005
const char * GDALGetAsyncStatusTypeName(GDALAsyncStatusType)
Get name of AsyncStatus data type.
Definition: gdal_misc.cpp:739
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2099
int GDALDataTypeIsFloating(GDALDataType)
Is data type floating?
Definition: gdal_misc.cpp:422
CPLErr GDALRATValuesIOAsString(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, char **papszStrList)
Read or Write a block of strings to/from the Attribute Table.
Definition: gdal_rat.cpp:288
CPLVirtualMem * GDALGetVirtualMemAuto(GDALRasterBandH hBand, GDALRWFlag eRWFlag, int *pnPixelSpace, GIntBig *pnLineSpace, char **papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL raster band object.
Definition: gdalrasterband.cpp:6656
double dfGCPY
Y position of GCP in georeferenced space.
Definition: gdal.h:566
Definition: gdal.h:131
int GDALRATGetLinearBinning(GDALRasterAttributeTableH, double *, double *)
Get linear binning information.
Definition: gdal_rat.cpp:548
void GDALCreateColorRamp(GDALColorTableH hTable, int nStartIndex, const GDALColorEntry *psStartColor, int nEndIndex, const GDALColorEntry *psEndColor)
Create color ramp.
Definition: gdalcolortable.cpp:447
void GDALInitGCPs(int, GDAL_GCP *)
Initialize an array of GCPs.
Definition: gdal_misc.cpp:1105
GDALRasterBandH GDALGetRasterBand(GDALDatasetH, int)
Fetch a band object for a dataset.
Definition: gdaldataset.cpp:794
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1378
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:3656
GDALDataType GDALGetNonComplexDataType(GDALDataType)
Return the base data type for the specified input.
Definition: gdal_misc.cpp:674
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:1039
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4031
double dfXOff
Definition: gdal.h:160
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:267
CPLErr GDALGetRasterHistogramEx(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, GUIntBig *panHistogram, int bIncludeOutOfRange, int bApproxOK, GDALProgressFunc pfnProgress, void *pProgressData)
Compute raster histogram.
Definition: gdalrasterband.cpp:3410
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2238
double dfHEIGHT_OFF
Definition: gdal.h:1007
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:480
GDALDriverH GDALIdentifyDriver(const char *pszFilename, char **papszFileList)
Identify the driver that can open a raster file.
Definition: gdaldriver.cpp:1932
Definition: gdal.h:1084
int GDALGetDriverCount(void)
Fetch the number of registered drivers.
Definition: gdaldrivermanager.cpp:363
Definition: gdal.h:196
Definition: gdal.h:202
Definition: gdal.h:62
CPLErr GDALCreateMaskBand(GDALRasterBandH hBand, int nFlags)
Adds a mask band to the current band.
Definition: gdalrasterband.cpp:6314
Definition: gdal.h:132
int GDALRATGetRowCount(GDALRasterAttributeTableH)
Fetch row count.
Definition: gdal_rat.cpp:1387
CPLErr GDALOverviewMagnitudeCorrection(GDALRasterBandH hBaseBand, int nOverviewCount, GDALRasterBandH *pahOverviews, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3759
GDALDataType GDALDataTypeUnionWithValue(GDALDataType eDT, double dValue, int bComplex)
Union a data type with the one found for a value.
Definition: gdal_misc.cpp:180
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:314
void * pProgressData
Definition: gdal.h:152
Definition: gdal.h:188
int GDALRATGetRowOfValue(GDALRasterAttributeTableH, double)
Get row for pixel value.
Definition: gdal_rat.cpp:377
CPLErr GDALRegenerateOverviews(GDALRasterBandH hSrcBand, int nOverviewCount, GDALRasterBandH *pahOverviewBands, const char *pszResampling, GDALProgressFunc pfnProgress, void *pProgressData)
Generate downsampled overviews.
Definition: overview.cpp:2794
Definition: gdal.h:1086
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1219
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1058
Definition: gdal.h:1216
GDALAsyncStatusType
status of the asynchronous stream
Definition: gdal.h:94
double GDALGetRasterNoDataValue(GDALRasterBandH, int *)
Fetch the no data value for this band.
Definition: gdalrasterband.cpp: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:124
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:1777
GDALProgressFunc pfnProgress
Definition: gdal.h:150
void * GDALRasterAttributeTableH
Opaque type used for the C bindings of the C++ GDALRasterAttributeTable class.
Definition: gdal.h:261
void GDALSetColorEntry(GDALColorTableH, int, const GDALColorEntry *)
Set entry in color table.
Definition: gdalcolortable.cpp:245
Definition: gdal.h:201
int GDALGetRasterYSize(GDALDatasetH)
Fetch raster height in pixels.
Definition: gdaldataset.cpp:742
GDALDataType GDALGetDataTypeByName(const char *)
Get data type by symbolic name.
Definition: gdal_misc.cpp:541
CPL error handling services.
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:69
GDALColorTableH GDALCreateColorTable(GDALPaletteInterp) CPL_WARN_UNUSED_RESULT
Construct a new color table.
Definition: gdalcolortable.cpp:69
GDALAsyncStatusType GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout, int *pnXBufOff, int *pnYBufOff, int *pnXBufSize, int *pnYBufSize)
Get async IO update.
Definition: gdaldefaultasync.cpp:176
double dfYSize
Definition: gdal.h:166
Definition: gdal.h:189
OGRErr GDALDatasetDeleteLayer(GDALDatasetH, int)
Delete the indicated layer from the datasource.
Definition: gdaldataset.cpp:3743
double dfLONG_OFF
Definition: gdal.h:1006
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:2342
int GDALDataTypeIsSigned(GDALDataType)
Is data type signed?
Definition: gdal_misc.cpp:448
CPLErr GDALDatasetRasterIOEx(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2139
int GDALValidateCreationOptions(GDALDriverH, char **papszCreationOptions)
Validate the list of creation options that are handled by a driver.
Definition: gdaldriver.cpp: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:6392
Definition: gdal.h:215
int GDALReadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1476
int GDALLoadOziMapFile(const char *, double *, char **, int *, GDAL_GCP **)
Helper function for translator implementer wanting support for OZI .map.
Definition: gdal_misc.cpp:1271
void GDALComposeGeoTransforms(const double *padfGeoTransform1, const double *padfGeoTransform2, double *padfGeoTransformOut)
Compose two geotransforms.
Definition: gdal_misc.cpp:2615
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:141
GDALDatasetH GDALOpen(const char *pszFilename, GDALAccess eAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:2568
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1713
GDALPaletteInterp
Definition: gdal.h:210
void GDALDeinitGCPs(int, GDAL_GCP *)
De-initialize an array of GCPs (initialized with GDALInitGCPs())
Definition: gdal_misc.cpp:1131
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:1090
const char * GDALRATGetNameOfCol(GDALRasterAttributeTableH, int)
Fetch name of indicated column.
Definition: gdal_rat.cpp:1234
int GDALGetGCPCount(GDALDatasetH)
Get number of GCPs.
Definition: gdaldataset.cpp:1310
double dfLINE_SCALE
Definition: gdal.h:1009
double dfLINE_OFF
Definition: gdal.h:1003
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:233
Definition: gdal.h:186
Definition: gdal.h:1082
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1345
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6225
Definition: gdal.h:214
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:255
GDAL_GCP * GDALDuplicateGCPs(int, const GDAL_GCP *)
Duplicate an array of GCPs.
Definition: gdal_misc.cpp:1158
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:818
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:3059
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:6494
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:246
void * OGRGeometryH
Opaque type for a geometyr.
Definition: ogr_api.h:56
CPLErr GDALRasterIOEx(GDALRasterBandH hRBand, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, GSpacing nPixelSpace, GSpacing nLineSpace, GDALRasterIOExtraArg *psExtraArg) CPL_WARN_UNUSED_RESULT
Read/write a region of image data for this band.
Definition: gdalrasterband.cpp: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:3684
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:291
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:852
double dfSAMP_OFF
Definition: gdal.h:1004
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:193
CPLErr GDALSetDefaultHistogram(GDALRasterBandH hBand, double dfMin, double dfMax, int nBuckets, int *panHistogram) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead")
Set default histogram.
Definition: gdalrasterband.cpp:5754
int GDALExtractRPCInfo(char **, GDALRPCInfo *)
Extract RPC info from metadata, and apply to an RPCInfo structure.
Definition: gdal_misc.cpp:3244
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:926
double dfSAMP_SCALE
Definition: gdal.h:1010
int GDALWriteWorldFile(const char *, const char *, double *)
Write ESRI world file.
Definition: gdal_misc.cpp:2029
char * pszId
Unique identifier, often numeric.
Definition: gdal.h:552
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:125
Definition: gdal.h:1075
Definition: gdal.h:127
CPLVirtualMem * GDALDatasetGetVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, int nPixelSpace, GIntBig nLineSpace, GIntBig nBandSpace, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, char **papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object.
Definition: gdalvirtualmem.cpp:951
int GDALGetDataCoverageStatus(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize, int nMaskFlagStop, double *pdfDataPct)
Get the coverage status of a sub-window of the raster.
Definition: gdalrasterband.cpp:6753
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6166
CPLErr GDALRATSetLinearBinning(GDALRasterAttributeTableH, double, double)
Set linear binning information.
Definition: gdal_rat.cpp:503
Definition: gdal.h:191
GDALTileOrganization
! Enumeration to describe the tile organization
Definition: gdal.h:1211
CPLErr GDALDatasetRasterIO(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, void *pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, int nBandCount, int *panBandCount, int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT
Read/write a region of image data from multiple bands.
Definition: gdaldataset.cpp:2110
int GDALReadWorldFile(const char *, const char *, double *)
Read ESRI world file.
Definition: gdal_misc.cpp:1871
GDALRasterBandH GDALGetRasterSampleOverviewEx(GDALRasterBandH, GUIntBig)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2352
GDALAccess
Definition: gdal.h:107
short c4
Definition: gdal.h:1045
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:1066
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:334
GDALRATFieldUsage
Field usage of raster attribute table.
Definition: gdal.h:1072
double dfLAT_SCALE
Definition: gdal.h:1011
Definition: gdal.h:197
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:230
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:1080
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:258
double dfGCPX
X position of GCP in georeferenced space.
Definition: gdal.h:563
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:1022
Definition: gdal.h:1088
void GDALARUnlockBuffer(GDALAsyncReaderH hARIO)
Unlock image buffer.
Definition: gdaldefaultasync.cpp:270
Definition: gdal.h:199
OGRErr GDALDatasetCommitTransaction(GDALDatasetH hDS)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: gdaldataset.cpp:6667
CPLVirtualMem * GDALDatasetGetTiledVirtualMem(GDALDatasetH hDS, GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, int nTileXSize, int nTileYSize, GDALDataType eBufType, int nBandCount, int *panBandMap, GDALTileOrganization eTileOrganization, size_t nCacheSize, int bSingleThreadUsage, char **papszOptions) CPL_WARN_UNUSED_RESULT
Create a CPLVirtualMem object from a GDAL dataset object, with tiling organization.
Definition: gdalvirtualmem.cpp:1544
Definition: gdal.h:129
double dfXSize
Definition: gdal.h:164
int GDALGetDataTypeSizeBits(GDALDataType eDataType)
Get data type size in bits.
Definition: gdal_misc.cpp:355
void GDALDestroyDriver(GDALDriverH)
Destroy a GDALDriver.
Definition: gdaldriver.cpp:114
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:287
GDALColorInterp
Definition: gdal.h:184
int GDALGetDataTypeSizeBytes(GDALDataType)
Get data type size in bytes.
Definition: gdal_misc.cpp:310
double GDALGetRasterScale(GDALRasterBandH, int *pbSuccess)
Fetch the raster value scale.
Definition: gdalrasterband.cpp:2554
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1031
double dfYOff
Definition: gdal.h:162
GDALDatasetH GDALCreateCopy(GDALDriverH, const char *, GDALDatasetH, int, char **, GDALProgressFunc, void *) CPL_WARN_UNUSED_RESULT
Create a copy of a dataset.
Definition: gdaldriver.cpp: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:3343
Definition: gdal.h:203
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2329
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:560
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:3144
Definition: gdal.h:126
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:3220
Definition: gdal.h:68
Definition: gdal.h:187
OGRLayerH GDALDatasetExecuteSQL(GDALDatasetH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: gdaldataset.cpp:4001
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:3395
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:286
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4060
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:293
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp: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:3901
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2436
GDALDataType GDALFindDataType(int nBits, int bSigned, int bFloating, int bComplex)
Finds the smallest data type able to support the given requirements.
Definition: gdal_misc.cpp:238
CPLErr GDALRATValuesIOAsInteger(GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag, int iField, int iStartRow, int iLength, int *pnData)
Read or Write a block of ints to/from the Attribute Table.
Definition: gdal_rat.cpp:223
Definition: gdal.h:108
void GDALRATDumpReadable(GDALRasterAttributeTableH, FILE *)
Dump RAT in readable form.
Definition: gdal_rat.cpp:1066
double dfGCPZ
Elevation of GCP, or zero if not known.
Definition: gdal.h:569
Definition: gdal.h:1068
GDALRIOResampleAlg eResampleAlg
Definition: gdal.h:147
double GDALDecToPackedDMS(double)
Convert decimal degrees into packed DMS value (DDDMMMSSS.SS).
Definition: gdal_misc.cpp:2273
Definition: gdal.h:212
GDALRasterAttributeTableH GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT
Construct empty table.
Definition: gdal_rat.cpp:1109
CPLErr GDALSetRasterStatistics(GDALRasterBandH hBand, double dfMin, double dfMax, double dfMean, double dfStdDev)
Set statistics on band.
Definition: gdalrasterband.cpp:5329
Ground Control Point.
Definition: gdal.h:549
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:6719
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:1521
Definition: gdal.h:1077
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:979
char ** GDALGetMetadata(GDALMajorObjectH, const char *)
Fetch metadata.
Definition: gdalmajorobject.cpp:266
Definition: gdal.h:114

Generated for GDAL by doxygen 1.8.8.