GDAL
gdal.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id$
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_SUBCREATECOPY "DCAP_SUBCREATECOPY"
351 
353 #define GDAL_DCAP_VIRTUALIO "DCAP_VIRTUALIO"
354 
358 #define GDAL_DCAP_RASTER "DCAP_RASTER"
359 
363 #define GDAL_DCAP_VECTOR "DCAP_VECTOR"
364 
368 #define GDAL_DCAP_GNM "DCAP_GNM"
369 
373 #define GDAL_DCAP_NOTNULL_FIELDS "DCAP_NOTNULL_FIELDS"
374 
378 #define GDAL_DCAP_DEFAULT_FIELDS "DCAP_DEFAULT_FIELDS"
379 
383 #define GDAL_DCAP_NOTNULL_GEOMFIELDS "DCAP_NOTNULL_GEOMFIELDS"
384 
390 #define GDAL_DCAP_NONSPATIAL "DCAP_NONSPATIAL"
391 
395 #define GDAL_DCAP_FEATURE_STYLES "DCAP_FEATURE_STYLES"
396 
397 void CPL_DLL CPL_STDCALL GDALAllRegister( void );
398 
399 GDALDatasetH CPL_DLL CPL_STDCALL GDALCreate( GDALDriverH hDriver,
400  const char *, int, int, int, GDALDataType,
402 GDALDatasetH CPL_DLL CPL_STDCALL
403 GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
404  int, CSLConstList, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
405 
406 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriver( const char * pszFilename,
407  CSLConstList papszFileList );
408 
409 GDALDriverH CPL_DLL CPL_STDCALL GDALIdentifyDriverEx(
410  const char *pszFilename, unsigned int nIdentifyFlags,
411  const char *const *papszAllowedDrivers, const char *const *papszFileList);
412 
413 GDALDatasetH CPL_DLL CPL_STDCALL
414 GDALOpen( const char *pszFilename, GDALAccess eAccess ) CPL_WARN_UNUSED_RESULT;
415 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenShared( const char *, GDALAccess ) CPL_WARN_UNUSED_RESULT;
416 
417 /* Note: we define GDAL_OF_READONLY and GDAL_OF_UPDATE to be on purpose */
418 /* equals to GA_ReadOnly and GA_Update */
419 
424 #define GDAL_OF_READONLY 0x00
425 
430 #define GDAL_OF_UPDATE 0x01
431 
436 #define GDAL_OF_ALL 0x00
437 
442 #define GDAL_OF_RASTER 0x02
443 
448 #define GDAL_OF_VECTOR 0x04
449 
454 #define GDAL_OF_GNM 0x08
455 
456 /* Some space for GDAL 3.0 new types ;-) */
457 /*#define GDAL_OF_OTHER_KIND1 0x08 */
458 /*#define GDAL_OF_OTHER_KIND2 0x10 */
459 #ifndef DOXYGEN_SKIP
460 #define GDAL_OF_KIND_MASK 0x1E
461 #endif
462 
467 #define GDAL_OF_SHARED 0x20
468 
473 #define GDAL_OF_VERBOSE_ERROR 0x40
474 
481 #define GDAL_OF_INTERNAL 0x80
482 
492 #define GDAL_OF_DEFAULT_BLOCK_ACCESS 0
493 
502 #define GDAL_OF_ARRAY_BLOCK_ACCESS 0x100
503 
512 #define GDAL_OF_HASHSET_BLOCK_ACCESS 0x200
513 
514 #ifndef DOXYGEN_SKIP
515 /* Reserved for a potential future alternative to GDAL_OF_ARRAY_BLOCK_ACCESS
516  * and GDAL_OF_HASHSET_BLOCK_ACCESS */
517 #define GDAL_OF_RESERVED_1 0x300
518 
520 #define GDAL_OF_BLOCK_ACCESS_MASK 0x300
521 #endif
522 
523 GDALDatasetH CPL_DLL CPL_STDCALL GDALOpenEx( const char* pszFilename,
524  unsigned int nOpenFlags,
525  const char* const* papszAllowedDrivers,
526  const char* const* papszOpenOptions,
527  const char* const* papszSiblingFiles ) CPL_WARN_UNUSED_RESULT;
528 
529 int CPL_DLL CPL_STDCALL GDALDumpOpenDatasets( FILE * );
530 
531 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriverByName( const char * );
532 int CPL_DLL CPL_STDCALL GDALGetDriverCount( void );
533 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDriver( int );
534 GDALDriverH CPL_DLL CPL_STDCALL GDALCreateDriver( void );
535 void CPL_DLL CPL_STDCALL GDALDestroyDriver( GDALDriverH );
536 int CPL_DLL CPL_STDCALL GDALRegisterDriver( GDALDriverH );
537 void CPL_DLL CPL_STDCALL GDALDeregisterDriver( GDALDriverH );
538 void CPL_DLL CPL_STDCALL GDALDestroyDriverManager( void );
539 #ifndef DOXYGEN_SKIP
540 void CPL_DLL GDALDestroy( void );
541 #endif
542 CPLErr CPL_DLL CPL_STDCALL GDALDeleteDataset( GDALDriverH, const char * );
543 CPLErr CPL_DLL CPL_STDCALL GDALRenameDataset( GDALDriverH,
544  const char * pszNewName,
545  const char * pszOldName );
546 CPLErr CPL_DLL CPL_STDCALL GDALCopyDatasetFiles( GDALDriverH,
547  const char * pszNewName,
548  const char * pszOldName);
549 int CPL_DLL CPL_STDCALL GDALValidateCreationOptions( GDALDriverH,
550  CSLConstList papszCreationOptions);
551 
552 /* The following are deprecated */
553 const char CPL_DLL * CPL_STDCALL GDALGetDriverShortName( GDALDriverH );
554 const char CPL_DLL * CPL_STDCALL GDALGetDriverLongName( GDALDriverH );
555 const char CPL_DLL * CPL_STDCALL GDALGetDriverHelpTopic( GDALDriverH );
556 const char CPL_DLL * CPL_STDCALL GDALGetDriverCreationOptionList( GDALDriverH );
557 
558 /* ==================================================================== */
559 /* GDAL_GCP */
560 /* ==================================================================== */
561 
563 typedef struct
564 {
566  char *pszId;
567 
569  char *pszInfo;
570 
572  double dfGCPPixel;
574  double dfGCPLine;
575 
577  double dfGCPX;
578 
580  double dfGCPY;
581 
583  double dfGCPZ;
584 } GDAL_GCP;
585 
586 void CPL_DLL CPL_STDCALL GDALInitGCPs( int, GDAL_GCP * );
587 void CPL_DLL CPL_STDCALL GDALDeinitGCPs( int, GDAL_GCP * );
588 GDAL_GCP CPL_DLL * CPL_STDCALL GDALDuplicateGCPs( int, const GDAL_GCP * );
589 
590 int CPL_DLL CPL_STDCALL
591 GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
592  double *padfGeoTransform, int bApproxOK ) CPL_WARN_UNUSED_RESULT;
593 int CPL_DLL CPL_STDCALL
594 GDALInvGeoTransform( double *padfGeoTransformIn,
595  double *padfInvGeoTransformOut ) CPL_WARN_UNUSED_RESULT;
596 void CPL_DLL CPL_STDCALL GDALApplyGeoTransform( double *, double, double,
597  double *, double * );
598 void CPL_DLL GDALComposeGeoTransforms(const double *padfGeoTransform1,
599  const double *padfGeoTransform2,
600  double *padfGeoTransformOut);
601 
602 /* ==================================================================== */
603 /* major objects (dataset, and, driver, drivermanager). */
604 /* ==================================================================== */
605 
606 char CPL_DLL ** CPL_STDCALL GDALGetMetadataDomainList( GDALMajorObjectH hObject );
607 char CPL_DLL ** CPL_STDCALL GDALGetMetadata( GDALMajorObjectH, const char * );
608 CPLErr CPL_DLL CPL_STDCALL GDALSetMetadata( GDALMajorObjectH, CSLConstList,
609  const char * );
610 const char CPL_DLL * CPL_STDCALL
611 GDALGetMetadataItem( GDALMajorObjectH, const char *, const char * );
612 CPLErr CPL_DLL CPL_STDCALL
613 GDALSetMetadataItem( GDALMajorObjectH, const char *, const char *,
614  const char * );
615 const char CPL_DLL * CPL_STDCALL GDALGetDescription( GDALMajorObjectH );
616 void CPL_DLL CPL_STDCALL GDALSetDescription( GDALMajorObjectH, const char * );
617 
618 /* ==================================================================== */
619 /* GDALDataset class ... normally this represents one file. */
620 /* ==================================================================== */
621 
623 #define GDAL_DS_LAYER_CREATIONOPTIONLIST "DS_LAYER_CREATIONOPTIONLIST"
624 
625 GDALDriverH CPL_DLL CPL_STDCALL GDALGetDatasetDriver( GDALDatasetH );
626 char CPL_DLL ** CPL_STDCALL GDALGetFileList( GDALDatasetH );
627 void CPL_DLL CPL_STDCALL GDALClose( GDALDatasetH );
628 int CPL_DLL CPL_STDCALL GDALGetRasterXSize( GDALDatasetH );
629 int CPL_DLL CPL_STDCALL GDALGetRasterYSize( GDALDatasetH );
630 int CPL_DLL CPL_STDCALL GDALGetRasterCount( GDALDatasetH );
631 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetRasterBand( GDALDatasetH, int );
632 
633 CPLErr CPL_DLL CPL_STDCALL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
634  CSLConstList papszOptions );
635 
636 GDALAsyncReaderH CPL_DLL CPL_STDCALL
637 GDALBeginAsyncReader(GDALDatasetH hDS, int nXOff, int nYOff,
638  int nXSize, int nYSize,
639  void *pBuf, int nBufXSize, int nBufYSize,
640  GDALDataType eBufType, int nBandCount, int* panBandMap,
641  int nPixelSpace, int nLineSpace, int nBandSpace,
642  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
643 
644 void CPL_DLL CPL_STDCALL
645 GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH);
646 
647 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIO(
648  GDALDatasetH hDS, GDALRWFlag eRWFlag,
649  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
650  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
651  int nBandCount, int *panBandCount,
652  int nPixelSpace, int nLineSpace, int nBandSpace) CPL_WARN_UNUSED_RESULT;
653 
654 CPLErr CPL_DLL CPL_STDCALL GDALDatasetRasterIOEx(
655  GDALDatasetH hDS, GDALRWFlag eRWFlag,
656  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
657  void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType,
658  int nBandCount, int *panBandCount,
659  GSpacing nPixelSpace, GSpacing nLineSpace, GSpacing nBandSpace,
661 
662 CPLErr CPL_DLL CPL_STDCALL GDALDatasetAdviseRead( GDALDatasetH hDS,
663  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
664  int nBXSize, int nBYSize, GDALDataType eBDataType,
665  int nBandCount, int *panBandCount, CSLConstList papszOptions );
666 
667 const char CPL_DLL * CPL_STDCALL GDALGetProjectionRef( GDALDatasetH );
668 OGRSpatialReferenceH CPL_DLL GDALGetSpatialRef( GDALDatasetH );
669 CPLErr CPL_DLL CPL_STDCALL GDALSetProjection( GDALDatasetH, const char * );
670 CPLErr CPL_DLL GDALSetSpatialRef( GDALDatasetH, OGRSpatialReferenceH );
671 CPLErr CPL_DLL CPL_STDCALL GDALGetGeoTransform( GDALDatasetH, double * );
672 CPLErr CPL_DLL CPL_STDCALL GDALSetGeoTransform( GDALDatasetH, double * );
673 
674 int CPL_DLL CPL_STDCALL GDALGetGCPCount( GDALDatasetH );
675 const char CPL_DLL * CPL_STDCALL GDALGetGCPProjection( GDALDatasetH );
676 OGRSpatialReferenceH CPL_DLL GDALGetGCPSpatialRef( GDALDatasetH );
677 const GDAL_GCP CPL_DLL * CPL_STDCALL GDALGetGCPs( GDALDatasetH );
678 CPLErr CPL_DLL CPL_STDCALL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
679  const char * );
680 CPLErr CPL_DLL GDALSetGCPs2( GDALDatasetH, int, const GDAL_GCP *,
682 
683 void CPL_DLL * CPL_STDCALL GDALGetInternalHandle( GDALDatasetH, const char * );
684 int CPL_DLL CPL_STDCALL GDALReferenceDataset( GDALDatasetH );
685 int CPL_DLL CPL_STDCALL GDALDereferenceDataset( GDALDatasetH );
686 int CPL_DLL CPL_STDCALL GDALReleaseDataset( GDALDatasetH );
687 
688 CPLErr CPL_DLL CPL_STDCALL
689 GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
690  int, int *, GDALProgressFunc, void * ) CPL_WARN_UNUSED_RESULT;
691 void CPL_DLL CPL_STDCALL GDALGetOpenDatasets( GDALDatasetH **hDS, int *pnCount );
692 int CPL_DLL CPL_STDCALL GDALGetAccess( GDALDatasetH hDS );
693 void CPL_DLL CPL_STDCALL GDALFlushCache( GDALDatasetH hDS );
694 
695 CPLErr CPL_DLL CPL_STDCALL
696  GDALCreateDatasetMaskBand( GDALDatasetH hDS, int nFlags );
697 
698 CPLErr CPL_DLL CPL_STDCALL GDALDatasetCopyWholeRaster(
699  GDALDatasetH hSrcDS, GDALDatasetH hDstDS, CSLConstList papszOptions,
700  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
701 
702 CPLErr CPL_DLL CPL_STDCALL GDALRasterBandCopyWholeRaster(
703  GDALRasterBandH hSrcBand, GDALRasterBandH hDstBand,
704  const char * const * constpapszOptions,
705  GDALProgressFunc pfnProgress, void *pProgressData ) CPL_WARN_UNUSED_RESULT;
706 
707 CPLErr CPL_DLL
709  int nOverviewCount, GDALRasterBandH *pahOverviewBands,
710  const char *pszResampling,
711  GDALProgressFunc pfnProgress, void *pProgressData );
712 
713 int CPL_DLL GDALDatasetGetLayerCount( GDALDatasetH );
714 OGRLayerH CPL_DLL GDALDatasetGetLayer( GDALDatasetH, int );
715 OGRLayerH CPL_DLL GDALDatasetGetLayerByName( GDALDatasetH, const char * );
716 OGRErr CPL_DLL GDALDatasetDeleteLayer( GDALDatasetH, int );
717 OGRLayerH CPL_DLL GDALDatasetCreateLayer( GDALDatasetH, const char *,
719  CSLConstList );
720 OGRLayerH CPL_DLL GDALDatasetCopyLayer( GDALDatasetH, OGRLayerH, const char *,
721  CSLConstList );
722 void CPL_DLL GDALDatasetResetReading( GDALDatasetH );
723 OGRFeatureH CPL_DLL GDALDatasetGetNextFeature( GDALDatasetH hDS,
724  OGRLayerH* phBelongingLayer,
725  double* pdfProgressPct,
726  GDALProgressFunc pfnProgress,
727  void* pProgressData );
728 int CPL_DLL GDALDatasetTestCapability( GDALDatasetH, const char * );
729 OGRLayerH CPL_DLL GDALDatasetExecuteSQL( GDALDatasetH, const char *,
730  OGRGeometryH, const char * );
731 void CPL_DLL GDALDatasetReleaseResultSet( GDALDatasetH, OGRLayerH );
732 OGRStyleTableH CPL_DLL GDALDatasetGetStyleTable( GDALDatasetH );
733 void CPL_DLL GDALDatasetSetStyleTableDirectly( GDALDatasetH, OGRStyleTableH );
734 void CPL_DLL GDALDatasetSetStyleTable( GDALDatasetH, OGRStyleTableH );
735 OGRErr CPL_DLL GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce);
736 OGRErr CPL_DLL GDALDatasetCommitTransaction(GDALDatasetH hDS);
737 OGRErr CPL_DLL GDALDatasetRollbackTransaction(GDALDatasetH hDS);
738 
739 /* ==================================================================== */
740 /* GDALRasterBand ... one band/channel in a dataset. */
741 /* ==================================================================== */
742 
747 #define SRCVAL(papoSource, eSrcType, ii) \
748  (eSrcType == GDT_Byte ? \
749  CPL_REINTERPRET_CAST(const GByte*,papoSource)[ii] : \
750  (eSrcType == GDT_Float32 ? \
751  CPL_REINTERPRET_CAST(const float*,papoSource)[ii] : \
752  (eSrcType == GDT_Float64 ? \
753  CPL_REINTERPRET_CAST(const double*,papoSource)[ii] : \
754  (eSrcType == GDT_Int32 ? \
755  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[ii] : \
756  (eSrcType == GDT_UInt16 ? \
757  CPL_REINTERPRET_CAST(const GUInt16*,papoSource)[ii] : \
758  (eSrcType == GDT_Int16 ? \
759  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[ii] : \
760  (eSrcType == GDT_UInt32 ? \
761  CPL_REINTERPRET_CAST(const GUInt32*,papoSource)[ii] : \
762  (eSrcType == GDT_CInt16 ? \
763  CPL_REINTERPRET_CAST(const GInt16*,papoSource)[(ii) * 2] : \
764  (eSrcType == GDT_CInt32 ? \
765  CPL_REINTERPRET_CAST(const GInt32*,papoSource)[(ii) * 2] : \
766  (eSrcType == GDT_CFloat32 ? \
767  CPL_REINTERPRET_CAST(const float*,papoSource)[(ii) * 2] : \
768  (eSrcType == GDT_CFloat64 ? \
769  CPL_REINTERPRET_CAST(const double*,papoSource)[(ii) * 2] : 0)))))))))))
770 
773 typedef CPLErr
774 (*GDALDerivedPixelFunc)(void **papoSources, int nSources, void *pData,
775  int nBufXSize, int nBufYSize,
776  GDALDataType eSrcType, GDALDataType eBufType,
777  int nPixelSpace, int nLineSpace);
778 
779 GDALDataType CPL_DLL CPL_STDCALL GDALGetRasterDataType( GDALRasterBandH );
780 void CPL_DLL CPL_STDCALL
781 GDALGetBlockSize( GDALRasterBandH, int * pnXSize, int * pnYSize );
782 
783 CPLErr CPL_DLL CPL_STDCALL
784 GDALGetActualBlockSize( GDALRasterBandH, int nXBlockOff, int nYBlockOff,
785  int *pnXValid, int *pnYValid );
786 
787 CPLErr CPL_DLL CPL_STDCALL GDALRasterAdviseRead( GDALRasterBandH hRB,
788  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
789  int nBXSize, int nBYSize, GDALDataType eBDataType, CSLConstList papszOptions );
790 
791 CPLErr CPL_DLL CPL_STDCALL
792 GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
793  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
794  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
795  int nPixelSpace, int nLineSpace ) CPL_WARN_UNUSED_RESULT;
796 CPLErr CPL_DLL CPL_STDCALL
797 GDALRasterIOEx( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
798  int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize,
799  void * pBuffer, int nBXSize, int nBYSize,GDALDataType eBDataType,
800  GSpacing nPixelSpace, GSpacing nLineSpace,
802 CPLErr CPL_DLL CPL_STDCALL GDALReadBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
803 CPLErr CPL_DLL CPL_STDCALL GDALWriteBlock( GDALRasterBandH, int, int, void * ) CPL_WARN_UNUSED_RESULT;
804 int CPL_DLL CPL_STDCALL GDALGetRasterBandXSize( GDALRasterBandH );
805 int CPL_DLL CPL_STDCALL GDALGetRasterBandYSize( GDALRasterBandH );
806 GDALAccess CPL_DLL CPL_STDCALL GDALGetRasterAccess( GDALRasterBandH );
807 int CPL_DLL CPL_STDCALL GDALGetBandNumber( GDALRasterBandH );
808 GDALDatasetH CPL_DLL CPL_STDCALL GDALGetBandDataset( GDALRasterBandH );
809 
810 GDALColorInterp CPL_DLL CPL_STDCALL
811 GDALGetRasterColorInterpretation( GDALRasterBandH );
812 CPLErr CPL_DLL CPL_STDCALL
814 GDALColorTableH CPL_DLL CPL_STDCALL GDALGetRasterColorTable( GDALRasterBandH );
815 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
816 int CPL_DLL CPL_STDCALL GDALHasArbitraryOverviews( GDALRasterBandH );
817 int CPL_DLL CPL_STDCALL GDALGetOverviewCount( GDALRasterBandH );
818 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetOverview( GDALRasterBandH, int );
819 double CPL_DLL CPL_STDCALL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
820 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterNoDataValue( GDALRasterBandH, double );
821 CPLErr CPL_DLL CPL_STDCALL GDALDeleteRasterNoDataValue( GDALRasterBandH );
822 char CPL_DLL ** CPL_STDCALL GDALGetRasterCategoryNames( GDALRasterBandH );
823 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterCategoryNames( GDALRasterBandH, CSLConstList );
824 double CPL_DLL CPL_STDCALL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
825 double CPL_DLL CPL_STDCALL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
826 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterStatistics(
827  GDALRasterBandH, int bApproxOK, int bForce,
828  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev );
829 CPLErr CPL_DLL CPL_STDCALL GDALComputeRasterStatistics(
830  GDALRasterBandH, int bApproxOK,
831  double *pdfMin, double *pdfMax, double *pdfMean, double *pdfStdDev,
832  GDALProgressFunc pfnProgress, void *pProgressData );
833 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterStatistics(
834  GDALRasterBandH hBand,
835  double dfMin, double dfMax, double dfMean, double dfStdDev );
836 
837 const char CPL_DLL * CPL_STDCALL GDALGetRasterUnitType( GDALRasterBandH );
838 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterUnitType( GDALRasterBandH hBand, const char *pszNewValue );
839 double CPL_DLL CPL_STDCALL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess );
840 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterOffset( GDALRasterBandH hBand, double dfNewOffset);
841 double CPL_DLL CPL_STDCALL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess );
842 CPLErr CPL_DLL CPL_STDCALL GDALSetRasterScale( GDALRasterBandH hBand, double dfNewOffset );
843 void CPL_DLL CPL_STDCALL
844 GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
845  double adfMinMax[2] );
846 CPLErr CPL_DLL CPL_STDCALL GDALFlushRasterCache( GDALRasterBandH hBand );
847 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogram( GDALRasterBandH hBand,
848  double dfMin, double dfMax,
849  int nBuckets, int *panHistogram,
850  int bIncludeOutOfRange, int bApproxOK,
851  GDALProgressFunc pfnProgress,
852  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetRasterHistogramEx() instead");
853 CPLErr CPL_DLL CPL_STDCALL GDALGetRasterHistogramEx( GDALRasterBandH hBand,
854  double dfMin, double dfMax,
855  int nBuckets, GUIntBig *panHistogram,
856  int bIncludeOutOfRange, int bApproxOK,
857  GDALProgressFunc pfnProgress,
858  void * pProgressData );
859 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogram( GDALRasterBandH hBand,
860  double *pdfMin, double *pdfMax,
861  int *pnBuckets, int **ppanHistogram,
862  int bForce,
863  GDALProgressFunc pfnProgress,
864  void * pProgressData ) CPL_WARN_DEPRECATED("Use GDALGetDefaultHistogramEx() instead");
865 CPLErr CPL_DLL CPL_STDCALL GDALGetDefaultHistogramEx( GDALRasterBandH hBand,
866  double *pdfMin, double *pdfMax,
867  int *pnBuckets, GUIntBig **ppanHistogram,
868  int bForce,
869  GDALProgressFunc pfnProgress,
870  void * pProgressData );
871 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogram( GDALRasterBandH hBand,
872  double dfMin, double dfMax,
873  int nBuckets, int *panHistogram ) CPL_WARN_DEPRECATED("Use GDALSetDefaultHistogramEx() instead");
874 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultHistogramEx( GDALRasterBandH hBand,
875  double dfMin, double dfMax,
876  int nBuckets, GUIntBig *panHistogram );
877 int CPL_DLL CPL_STDCALL
878 GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
879 GDALRasterBandH CPL_DLL CPL_STDCALL
880 GDALGetRasterSampleOverview( GDALRasterBandH, int );
881 GDALRasterBandH CPL_DLL CPL_STDCALL
882 GDALGetRasterSampleOverviewEx( GDALRasterBandH, GUIntBig );
883 CPLErr CPL_DLL CPL_STDCALL GDALFillRaster( GDALRasterBandH hBand,
884  double dfRealValue, double dfImaginaryValue );
885 CPLErr CPL_DLL CPL_STDCALL
886 GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
887  double *pdfMean, double *pdfStdDev,
888  GDALProgressFunc pfnProgress,
889  void *pProgressData );
890 CPLErr CPL_DLL GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
891  int nOverviewCount,
892  GDALRasterBandH *pahOverviews,
893  GDALProgressFunc pfnProgress,
894  void *pProgressData );
895 
896 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL GDALGetDefaultRAT(
897  GDALRasterBandH hBand );
898 CPLErr CPL_DLL CPL_STDCALL GDALSetDefaultRAT( GDALRasterBandH,
900 CPLErr CPL_DLL CPL_STDCALL GDALAddDerivedBandPixelFunc( const char *pszName,
901  GDALDerivedPixelFunc pfnPixelFunc );
902 
903 GDALRasterBandH CPL_DLL CPL_STDCALL GDALGetMaskBand( GDALRasterBandH hBand );
904 int CPL_DLL CPL_STDCALL GDALGetMaskFlags( GDALRasterBandH hBand );
905 CPLErr CPL_DLL CPL_STDCALL
906  GDALCreateMaskBand( GDALRasterBandH hBand, int nFlags );
907 
909 #define GMF_ALL_VALID 0x01
910 
912 #define GMF_PER_DATASET 0x02
913 
915 #define GMF_ALPHA 0x04
916 
918 #define GMF_NODATA 0x08
919 
923 #define GDAL_DATA_COVERAGE_STATUS_UNIMPLEMENTED 0x01
924 
929 #define GDAL_DATA_COVERAGE_STATUS_DATA 0x02
930 
936 #define GDAL_DATA_COVERAGE_STATUS_EMPTY 0x04
937 
938 int CPL_DLL CPL_STDCALL GDALGetDataCoverageStatus( GDALRasterBandH hBand,
939  int nXOff, int nYOff,
940  int nXSize, int nYSize,
941  int nMaskFlagStop,
942  double* pdfDataPct );
943 
944 /* ==================================================================== */
945 /* GDALAsyncReader */
946 /* ==================================================================== */
947 
948 GDALAsyncStatusType CPL_DLL CPL_STDCALL
949 GDALARGetNextUpdatedRegion(GDALAsyncReaderH hARIO, double dfTimeout,
950  int* pnXBufOff, int* pnYBufOff,
951  int* pnXBufSize, int* pnYBufSize );
952 int CPL_DLL CPL_STDCALL GDALARLockBuffer(GDALAsyncReaderH hARIO,
953  double dfTimeout);
954 void CPL_DLL CPL_STDCALL GDALARUnlockBuffer(GDALAsyncReaderH hARIO);
955 
956 /* -------------------------------------------------------------------- */
957 /* Helper functions. */
958 /* -------------------------------------------------------------------- */
959 int CPL_DLL CPL_STDCALL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv,
960  int nOptions );
961 void CPL_DLL CPL_STDCALL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
962  int nWordSkip );
963 void CPL_DLL CPL_STDCALL GDALSwapWordsEx( void *pData, int nWordSize, size_t nWordCount,
964  int nWordSkip );
965 
966 void CPL_DLL CPL_STDCALL
967  GDALCopyWords( const void * CPL_RESTRICT pSrcData,
968  GDALDataType eSrcType, int nSrcPixelOffset,
969  void * CPL_RESTRICT pDstData,
970  GDALDataType eDstType, int nDstPixelOffset,
971  int nWordCount );
972 
973 void CPL_DLL CPL_STDCALL
974  GDALCopyWords64( const void * CPL_RESTRICT pSrcData,
975  GDALDataType eSrcType, int nSrcPixelOffset,
976  void * CPL_RESTRICT pDstData,
977  GDALDataType eDstType, int nDstPixelOffset,
978  GPtrDiff_t nWordCount );
979 
980 void CPL_DLL
981 GDALCopyBits( const GByte *pabySrcData, int nSrcOffset, int nSrcStep,
982  GByte *pabyDstData, int nDstOffset, int nDstStep,
983  int nBitCount, int nStepCount );
984 
985 int CPL_DLL CPL_STDCALL GDALLoadWorldFile( const char *, double * );
986 int CPL_DLL CPL_STDCALL GDALReadWorldFile( const char *, const char *,
987  double * );
988 int CPL_DLL CPL_STDCALL GDALWriteWorldFile( const char *, const char *,
989  double * );
990 int CPL_DLL CPL_STDCALL GDALLoadTabFile( const char *, double *, char **,
991  int *, GDAL_GCP ** );
992 int CPL_DLL CPL_STDCALL GDALReadTabFile( const char *, double *, char **,
993  int *, GDAL_GCP ** );
994 int CPL_DLL CPL_STDCALL GDALLoadOziMapFile( const char *, double *, char **,
995  int *, GDAL_GCP ** );
996 int CPL_DLL CPL_STDCALL GDALReadOziMapFile( const char *, double *,
997  char **, int *, GDAL_GCP ** );
998 
999 const char CPL_DLL * CPL_STDCALL GDALDecToDMS( double, const char *, int );
1000 double CPL_DLL CPL_STDCALL GDALPackedDMSToDec( double );
1001 double CPL_DLL CPL_STDCALL GDALDecToPackedDMS( double );
1002 
1003 /* Note to developers : please keep this section in sync with ogr_core.h */
1004 
1005 #ifndef GDAL_VERSION_INFO_DEFINED
1006 #ifndef DOXYGEN_SKIP
1007 #define GDAL_VERSION_INFO_DEFINED
1008 #endif
1009 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
1010 #endif
1011 
1012 #ifndef GDAL_CHECK_VERSION
1013 
1014 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
1015  const char* pszCallingComponentName);
1016 
1020 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1021  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
1022 
1023 #endif
1024 
1027 typedef struct
1028 {
1029  double dfLINE_OFF;
1030  double dfSAMP_OFF;
1031  double dfLAT_OFF;
1032  double dfLONG_OFF;
1033  double dfHEIGHT_OFF;
1035  double dfLINE_SCALE;
1036  double dfSAMP_SCALE;
1037  double dfLAT_SCALE;
1038  double dfLONG_SCALE;
1041  double adfLINE_NUM_COEFF[20];
1042  double adfLINE_DEN_COEFF[20];
1043  double adfSAMP_NUM_COEFF[20];
1044  double adfSAMP_DEN_COEFF[20];
1046  double dfMIN_LONG;
1047  double dfMIN_LAT;
1048  double dfMAX_LONG;
1049  double dfMAX_LAT;
1050 } GDALRPCInfo;
1051 
1052 int CPL_DLL CPL_STDCALL GDALExtractRPCInfo( CSLConstList, GDALRPCInfo * );
1053 
1054 /* ==================================================================== */
1055 /* Color tables. */
1056 /* ==================================================================== */
1057 
1059 typedef struct
1060 {
1062  short c1;
1063 
1065  short c2;
1066 
1068  short c3;
1069 
1071  short c4;
1072 } GDALColorEntry;
1073 
1074 GDALColorTableH CPL_DLL CPL_STDCALL GDALCreateColorTable( GDALPaletteInterp ) CPL_WARN_UNUSED_RESULT;
1075 void CPL_DLL CPL_STDCALL GDALDestroyColorTable( GDALColorTableH );
1076 GDALColorTableH CPL_DLL CPL_STDCALL GDALCloneColorTable( GDALColorTableH );
1077 GDALPaletteInterp CPL_DLL CPL_STDCALL GDALGetPaletteInterpretation( GDALColorTableH );
1078 int CPL_DLL CPL_STDCALL GDALGetColorEntryCount( GDALColorTableH );
1079 const GDALColorEntry CPL_DLL * CPL_STDCALL GDALGetColorEntry( GDALColorTableH, int );
1080 int CPL_DLL CPL_STDCALL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
1081 void CPL_DLL CPL_STDCALL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
1082 void CPL_DLL CPL_STDCALL GDALCreateColorRamp( GDALColorTableH hTable,
1083  int nStartIndex, const GDALColorEntry *psStartColor,
1084  int nEndIndex, const GDALColorEntry *psEndColor );
1085 
1086 /* ==================================================================== */
1087 /* Raster Attribute Table */
1088 /* ==================================================================== */
1089 
1096 
1098 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
1119 
1127 
1128 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1129  GDALCreateRasterAttributeTable(void) CPL_WARN_UNUSED_RESULT;
1130 
1131 void CPL_DLL CPL_STDCALL GDALDestroyRasterAttributeTable(
1132  GDALRasterAttributeTableH );
1133 
1134 int CPL_DLL CPL_STDCALL GDALRATGetColumnCount( GDALRasterAttributeTableH );
1135 
1136 const char CPL_DLL * CPL_STDCALL GDALRATGetNameOfCol(
1137  GDALRasterAttributeTableH, int );
1138 GDALRATFieldUsage CPL_DLL CPL_STDCALL GDALRATGetUsageOfCol(
1139  GDALRasterAttributeTableH, int );
1140 GDALRATFieldType CPL_DLL CPL_STDCALL GDALRATGetTypeOfCol(
1141  GDALRasterAttributeTableH, int );
1142 
1143 int CPL_DLL CPL_STDCALL GDALRATGetColOfUsage( GDALRasterAttributeTableH,
1145 int CPL_DLL CPL_STDCALL GDALRATGetRowCount( GDALRasterAttributeTableH );
1146 
1147 const char CPL_DLL * CPL_STDCALL GDALRATGetValueAsString(
1148  GDALRasterAttributeTableH, int, int);
1149 int CPL_DLL CPL_STDCALL GDALRATGetValueAsInt(
1150  GDALRasterAttributeTableH, int, int);
1151 double CPL_DLL CPL_STDCALL GDALRATGetValueAsDouble(
1152  GDALRasterAttributeTableH, int, int);
1153 
1154 void CPL_DLL CPL_STDCALL GDALRATSetValueAsString( GDALRasterAttributeTableH, int, int,
1155  const char * );
1156 void CPL_DLL CPL_STDCALL GDALRATSetValueAsInt( GDALRasterAttributeTableH, int, int,
1157  int );
1158 void CPL_DLL CPL_STDCALL GDALRATSetValueAsDouble( GDALRasterAttributeTableH, int, int,
1159  double );
1160 
1161 int CPL_DLL CPL_STDCALL GDALRATChangesAreWrittenToFile( GDALRasterAttributeTableH hRAT );
1162 
1163 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsDouble( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1164  int iField, int iStartRow, int iLength, double *pdfData );
1165 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsInteger( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1166  int iField, int iStartRow, int iLength, int *pnData);
1167 CPLErr CPL_DLL CPL_STDCALL GDALRATValuesIOAsString( GDALRasterAttributeTableH hRAT, GDALRWFlag eRWFlag,
1168  int iField, int iStartRow, int iLength, CSLConstList papszStrList);
1169 
1170 void CPL_DLL CPL_STDCALL GDALRATSetRowCount( GDALRasterAttributeTableH,
1171  int );
1172 CPLErr CPL_DLL CPL_STDCALL GDALRATCreateColumn( GDALRasterAttributeTableH,
1173  const char *,
1175  GDALRATFieldUsage );
1176 CPLErr CPL_DLL CPL_STDCALL GDALRATSetLinearBinning( GDALRasterAttributeTableH,
1177  double, double );
1178 int CPL_DLL CPL_STDCALL GDALRATGetLinearBinning( GDALRasterAttributeTableH,
1179  double *, double * );
1180 CPLErr CPL_DLL CPL_STDCALL GDALRATSetTableType( GDALRasterAttributeTableH hRAT,
1181  const GDALRATTableType eInTableType );
1182 GDALRATTableType CPL_DLL CPL_STDCALL GDALRATGetTableType( GDALRasterAttributeTableH hRAT);
1183 CPLErr CPL_DLL CPL_STDCALL GDALRATInitializeFromColorTable(
1184  GDALRasterAttributeTableH, GDALColorTableH );
1185 GDALColorTableH CPL_DLL CPL_STDCALL GDALRATTranslateToColorTable(
1186  GDALRasterAttributeTableH, int nEntryCount );
1187 void CPL_DLL CPL_STDCALL GDALRATDumpReadable( GDALRasterAttributeTableH,
1188  FILE * );
1189 GDALRasterAttributeTableH CPL_DLL CPL_STDCALL
1190  GDALRATClone( const GDALRasterAttributeTableH );
1191 
1192 void CPL_DLL* CPL_STDCALL
1193  GDALRATSerializeJSON( GDALRasterAttributeTableH ) CPL_WARN_UNUSED_RESULT;
1194 
1195 int CPL_DLL CPL_STDCALL GDALRATGetRowOfValue( GDALRasterAttributeTableH, double );
1196 void CPL_DLL CPL_STDCALL GDALRATRemoveStatistics( GDALRasterAttributeTableH );
1197 
1198 /* ==================================================================== */
1199 /* GDAL Cache Management */
1200 /* ==================================================================== */
1201 
1202 void CPL_DLL CPL_STDCALL GDALSetCacheMax( int nBytes );
1203 int CPL_DLL CPL_STDCALL GDALGetCacheMax(void);
1204 int CPL_DLL CPL_STDCALL GDALGetCacheUsed(void);
1205 void CPL_DLL CPL_STDCALL GDALSetCacheMax64( GIntBig nBytes );
1206 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheMax64(void);
1207 GIntBig CPL_DLL CPL_STDCALL GDALGetCacheUsed64(void);
1208 
1209 int CPL_DLL CPL_STDCALL GDALFlushCacheBlock(void);
1210 
1211 /* ==================================================================== */
1212 /* GDAL virtual memory */
1213 /* ==================================================================== */
1214 
1215 CPLVirtualMem CPL_DLL* GDALDatasetGetVirtualMem( GDALDatasetH hDS,
1216  GDALRWFlag eRWFlag,
1217  int nXOff, int nYOff,
1218  int nXSize, int nYSize,
1219  int nBufXSize, int nBufYSize,
1220  GDALDataType eBufType,
1221  int nBandCount, int* panBandMap,
1222  int nPixelSpace,
1223  GIntBig nLineSpace,
1224  GIntBig nBandSpace,
1225  size_t nCacheSize,
1226  size_t nPageSizeHint,
1227  int bSingleThreadUsage,
1228  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1229 
1230 CPLVirtualMem CPL_DLL* GDALRasterBandGetVirtualMem( GDALRasterBandH hBand,
1231  GDALRWFlag eRWFlag,
1232  int nXOff, int nYOff,
1233  int nXSize, int nYSize,
1234  int nBufXSize, int nBufYSize,
1235  GDALDataType eBufType,
1236  int nPixelSpace,
1237  GIntBig nLineSpace,
1238  size_t nCacheSize,
1239  size_t nPageSizeHint,
1240  int bSingleThreadUsage,
1241  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1242 
1243 CPLVirtualMem CPL_DLL* GDALGetVirtualMemAuto( GDALRasterBandH hBand,
1244  GDALRWFlag eRWFlag,
1245  int *pnPixelSpace,
1246  GIntBig *pnLineSpace,
1247  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1248 
1250 typedef enum
1251 {
1259 
1260 CPLVirtualMem CPL_DLL* GDALDatasetGetTiledVirtualMem( GDALDatasetH hDS,
1261  GDALRWFlag eRWFlag,
1262  int nXOff, int nYOff,
1263  int nXSize, int nYSize,
1264  int nTileXSize, int nTileYSize,
1265  GDALDataType eBufType,
1266  int nBandCount, int* panBandMap,
1267  GDALTileOrganization eTileOrganization,
1268  size_t nCacheSize,
1269  int bSingleThreadUsage,
1270  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1271 
1272 CPLVirtualMem CPL_DLL* GDALRasterBandGetTiledVirtualMem( GDALRasterBandH hBand,
1273  GDALRWFlag eRWFlag,
1274  int nXOff, int nYOff,
1275  int nXSize, int nYSize,
1276  int nTileXSize, int nTileYSize,
1277  GDALDataType eBufType,
1278  size_t nCacheSize,
1279  int bSingleThreadUsage,
1280  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
1281 
1282 /* ==================================================================== */
1283 /* VRTPansharpenedDataset class. */
1284 /* ==================================================================== */
1285 
1286 GDALDatasetH CPL_DLL GDALCreatePansharpenedVRT( const char* pszXML,
1287  GDALRasterBandH hPanchroBand,
1288  int nInputSpectralBands,
1289  GDALRasterBandH* pahInputSpectralBands ) CPL_WARN_UNUSED_RESULT;
1290 
1291 /* =================================================================== */
1292 /* Misc API */
1293 /* ==================================================================== */
1294 
1295 CPLXMLNode CPL_DLL* GDALGetJPEG2000Structure(const char* pszFilename,
1296  CSLConstList papszOptions) CPL_WARN_UNUSED_RESULT;
1297 
1298 CPL_C_END
1299 
1300 #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:3836
Definition: gdal.h:200
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:509
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:3128
Definition: gdal.h:115
CPLErr GDALSetProjection(GDALDatasetH, const char *)
Set the projection reference string for this dataset.
Definition: gdaldataset.cpp:1116
double dfMIN_LAT
Definition: gdal.h:1047
Definition: gdal.h:1105
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:565
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:5357
Definition: gdal.h:1099
int GDALGetOverviewCount(GDALRasterBandH)
Return the number of overview layers available.
Definition: gdalrasterband.cpp:2202
Definition: gdal.h:72
char * pszInfo
Informational message or "".
Definition: gdal.h:569
Definition: gdal.h:1117
CPLErr GDALWriteBlock(GDALRasterBandH, int, int, void *) CPL_WARN_UNUSED_RESULT
Write a block of image data efficiently.
Definition: gdalrasterband.cpp:721
Document node structure.
Definition: cpl_minixml.h:66
Definition: gdal.h:1107
void GDALDatasetReleaseResultSet(GDALDatasetH, OGRLayerH)
Release results of ExecuteSQL().
Definition: gdaldataset.cpp:4111
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:572
double GDALPackedDMSToDec(double)
Convert a packed DMS value (DDDMMMSSS.SS) into decimal degrees.
Definition: gdal_misc.cpp:2346
Definition: gdal.h:1111
Definition: gdal.h:1257
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:2803
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:1093
Definition: gdal.h:201
Definition: gdal.h:62
CPLErr GDALCreateDatasetMaskBand(GDALDatasetH hDS, int nFlags)
Adds a mask band to the dataset.
Definition: gdaldataset.cpp:2975
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:2493
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:5791
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:4386
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:3822
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:2695
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:1966
Definition: gdal.h:121
CPLErr GDALSetMetadata(GDALMajorObjectH, CSLConstList, const char *)
Set metadata.
Definition: gdalmajorobject.cpp:318
Definition: gdal.h:1109
CPLErr GDALSetSpatialRef(GDALDatasetH, OGRSpatialReferenceH)
Set the spatial reference system for this dataset.
Definition: gdaldataset.cpp:1058
#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:3351
CPLErr GDALSetGCPs(GDALDatasetH, int, const GDAL_GCP *, const char *)
Assign GCPs.
Definition: gdaldataset.cpp:1847
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:394
GDALRATFieldType
Field type of raster attribute table.
Definition: gdal.h:1091
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:969
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:1022
void GDALDatasetSetStyleTable(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4570
GDALDatasetH GDALOpenShared(const char *, GDALAccess) CPL_WARN_UNUSED_RESULT
Open a raster file as a GDALDataset.
Definition: gdaldataset.cpp:3515
Definition: gdal.h:1102
Definition: gdal.h:1115
CPLErr GDALSetRasterScale(GDALRasterBandH hBand, double dfNewOffset)
Set scaling ratio.
Definition: gdalrasterband.cpp:2600
OGRLayerH GDALDatasetGetLayerByName(GDALDatasetH, const char *)
Fetch a layer by name.
Definition: gdaldataset.cpp:4192
double dfLONG_SCALE
Definition: gdal.h:1038
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:2162
GDALRasterAttributeTableH GDALGetDefaultRAT(GDALRasterBandH hBand)
Fetch default Raster Attribute Table.
Definition: gdalrasterband.cpp:5835
void GDALComputeRasterMinMax(GDALRasterBandH hBand, int bApproxOK, double adfMinMax[2])
Compute the min/max values for a band.
Definition: gdalrasterband.cpp:5699
CPLErr GDALSetRasterColorInterpretation(GDALRasterBandH, GDALColorInterp)
Set color interpretation of a band.
Definition: gdalrasterband.cpp:2023
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:1113
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:1046
int nVersion
Definition: gdal.h:150
int GDALGeneralCmdLineProcessor(int nArgc, char ***ppapszArgv, int nOptions)
General utility option processing.
Definition: gdal_misc.cpp:2856
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:774
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:796
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:588
Color tuple.
Definition: gdal.h:1059
OGRErr GDALDatasetStartTransaction(GDALDatasetH hDS, int bForce)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: gdaldataset.cpp:7047
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:1027
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:1530
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:4380
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:4713
Definition: gdal.h:61
Definition: gdal.h:1104
Definition: gdal.h:1100
double dfHEIGHT_SCALE
Definition: gdal.h:1039
CPLErr GDALRATInitializeFromColorTable(GDALRasterAttributeTableH, GDALColorTableH)
Initialize from color table.
Definition: gdal_rat.cpp:999
double dfMAX_LAT
Definition: gdal.h:1049
void GDALFlushCache(GDALDatasetH hDS)
Flush all write cached data to disk.
Definition: gdaldataset.cpp:458
GDALRATTableType
RAT table type (thematic or athematic)
Definition: gdal.h:1123
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:1273
int GDALGetRasterCount(GDALDatasetH)
Fetch the number of raster bands on this dataset.
Definition: gdaldataset.cpp:814
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:6149
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:1253
short c1
Definition: gdal.h:1062
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:1068
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:3735
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:2662
GDALColorInterp GDALGetRasterColorInterpretation(GDALRasterBandH)
How should this band be interpreted as color?
Definition: gdalrasterband.cpp:1974
double dfLAT_OFF
Definition: gdal.h:1031
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:580
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:781
const GDAL_GCP * GDALGetGCPs(GDALDatasetH)
Fetch GCPs.
Definition: gdaldataset.cpp:1688
int GDALDatasetGetLayerCount(GDALDatasetH)
Get the number of layers in this dataset.
Definition: gdaldataset.cpp:4135
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:1065
OGRStyleTableH GDALDatasetGetStyleTable(GDALDatasetH)
Returns dataset style table.
Definition: gdaldataset.cpp:4512
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:6670
GDALAccess GDALGetRasterAccess(GDALRasterBandH)
Find out if we have update permission for this band.
Definition: gdalrasterband.cpp:1484
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:3417
char ** GDALGetMetadataDomainList(GDALMajorObjectH hObject)
Fetch list of metadata domains.
Definition: gdalmajorobject.cpp:219
int GDALGetAccess(GDALDatasetH hDS)
Return access flag.
Definition: gdaldataset.cpp:2696
double dfHEIGHT_OFF
Definition: gdal.h:1033
const char * GDALGetDataTypeName(GDALDataType)
Get name of data type.
Definition: gdal_misc.cpp:565
Definition: gdal.h:1110
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:6328
Definition: gdal.h:138
GIntBig GPtrDiff_t
Integer type large enough to hold the difference between 2 addresses.
Definition: cpl_port.h:286
Definition: gdal.h:1125
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:4056
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:3068
CPLErr GDALSetRasterCategoryNames(GDALRasterBandH, CSLConstList)
Set the category names for this band.
Definition: gdalrasterband.cpp:1582
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:1112
int GDALReleaseDataset(GDALDatasetH)
Drop a reference to this object, and destroy if no longer referenced.
Definition: gdaldataset.cpp:1418
CPLErr GDALFlushRasterCache(GDALRasterBandH hBand)
Flush raster data cache.
Definition: gdalrasterband.cpp:1043
Definition: gdal.h:1255
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:1634
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:4428
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:727
CPLErr GDALRATSetTableType(GDALRasterAttributeTableH hRAT, const GDALRATTableType eInTableType)
Set RAT Table Type.
Definition: gdal_rat.cpp:591
OGRSpatialReferenceH GDALGetSpatialRef(GDALDatasetH)
Fetch the projection definition string for this dataset.
Definition: gdaldataset.cpp:924
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:1576
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:4222
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1186
double dfLONG_OFF
Definition: gdal.h:1032
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:2596
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:6827
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:1750
Definition: gdal.h:1124
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:3030
CPLErr GDALSetRasterNoDataValue(GDALRasterBandH, double)
Set the no data value for this band.
Definition: gdalrasterband.cpp:1702
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:1932
Definition: gdal.h:1116
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:1510
double dfLINE_SCALE
Definition: gdal.h:1035
double dfLINE_OFF
Definition: gdal.h:1029
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:3097
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:1108
const char * GDALGetGCPProjection(GDALDatasetH)
Get output projection for GCPs.
Definition: gdaldataset.cpp:1655
int GDALGetMaskFlags(GDALRasterBandH hBand)
Return the status flags of the mask band associated with the band.
Definition: gdalrasterband.cpp:6239
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:2065
const char * GDALGetRasterUnitType(GDALRasterBandH)
Return raster unit type.
Definition: gdalrasterband.cpp:2642
CPLErr GDALGetGeoTransform(GDALDatasetH, double *)
Fetch the affine transformation coefficients.
Definition: gdaldataset.cpp:1182
CPLErr GDALSetRasterColorTable(GDALRasterBandH, GDALColorTableH)
Set the raster color table.
Definition: gdalrasterband.cpp:2118
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:693
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:3540
int GDALReferenceDataset(GDALDatasetH)
Add one to dataset reference count.
Definition: gdaldataset.cpp:1341
int GDALDatasetTestCapability(GDALDatasetH, const char *)
Test if capability is available.
Definition: gdaldataset.cpp:6929
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:422
GDALDriverH GDALGetDatasetDriver(GDALDatasetH)
Fetch the driver to which this dataset relates.
Definition: gdaldataset.cpp:1306
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:4163
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:302
GDALDataType GDALGetRasterDataType(GDALRasterBandH)
Fetch the pixel data type for this band.
Definition: gdalrasterband.cpp:837
double dfSAMP_OFF
Definition: gdal.h:1030
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:5747
int GDALGetRandomRasterSample(GDALRasterBandH, int, float *)
Undocumented.
Definition: gdal_misc.cpp:1012
double dfSAMP_SCALE
Definition: gdal.h:1036
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:566
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:3544
CPLErr GDALFillRaster(GDALRasterBandH hBand, double dfRealValue, double dfImaginaryValue)
Fill this band with a constant value.
Definition: gdalrasterband.cpp:1447
void GDALSetDescription(GDALMajorObjectH, const char *)
Set object description.
Definition: gdalmajorobject.cpp:136
Definition: gdal.h:131
Definition: gdal.h:1101
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:6768
void GDALDatasetResetReading(GDALDatasetH)
Reset feature reading to start on the first feature.
Definition: gdaldataset.cpp:6600
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:1250
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:2567
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:2341
GDALAccess
Definition: gdal.h:113
short c4
Definition: gdal.h:1071
GDALRasterBandH GDALGetOverview(GDALRasterBandH, int)
Fetch overview raster band object.
Definition: gdalrasterband.cpp:2244
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
int GDALGetBandNumber(GDALRasterBandH)
Fetch the band number.
Definition: gdalrasterband.cpp:2811
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:1843
Definition: gdal.h:69
Definition: gdal.h:1092
#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:1098
double dfLAT_SCALE
Definition: gdal.h:1037
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:1106
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:577
int GDALGetRasterBandYSize(GDALRasterBandH)
Fetch YSize of raster.
Definition: gdalrasterband.cpp:2769
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:1048
CPLErr GDALSetGCPs2(GDALDatasetH, int, const GDAL_GCP *, OGRSpatialReferenceH)
Assign GCPs.
Definition: gdaldataset.cpp:1869
Definition: gdal.h:1114
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:7102
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:3707
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:2549
CPLErr GDALSetGeoTransform(GDALDatasetH, double *)
Set the affine transformation coefficients.
Definition: gdaldataset.cpp:1232
double dfYOff
Definition: gdal.h:168
Definition: gdal.h:209
GDALRasterBandH GDALGetRasterSampleOverview(GDALRasterBandH, int)
Fetch best sampling overview.
Definition: gdalrasterband.cpp:2318
double dfGCPLine
Line (y) location of GCP on raster.
Definition: gdal.h:574
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:3615
int GDALDumpOpenDatasets(FILE *)
List open datasets.
Definition: gdaldataset.cpp:3625
Definition: gdal.h:132
double GDALGetRasterOffset(GDALRasterBandH, int *pbSuccess)
Fetch the raster value offset.
Definition: gdalrasterband.cpp:2443
int GDALInvGeoTransform(double *padfGeoTransformIn, double *padfInvGeoTransformOut) CPL_WARN_UNUSED_RESULT
Invert Geotransform.
Definition: gdaltransformer.cpp:3761
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:4482
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:3381
void GDALEndAsyncReader(GDALDatasetH hDS, GDALAsyncReaderH hAsynchReaderH)
End asynchronous request.
Definition: gdaldataset.cpp:3874
void GDALGetBlockSize(GDALRasterBandH, int *pnXSize, int *pnYSize)
Fetch the "natural" block size of this band.
Definition: gdalrasterband.cpp:904
GDALDataType GDALFindDataTypeForValue(double dValue, int bComplex)
Finds the smallest data type able to support the provided value.
Definition: gdal_misc.cpp:281
void GDALCopyWords64(const void *CPL_RESTRICT pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, void *CPL_RESTRICT pDstData, GDALDataType eDstType, int nDstPixelOffset, GPtrDiff_t nWordCount)
Copy pixel words from buffer to buffer.
Definition: rasterio.cpp:3157
void GDALDatasetSetStyleTableDirectly(GDALDatasetH, OGRStyleTableH)
Set dataset style table.
Definition: gdaldataset.cpp:4541
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:304
CPLErr GDALSetDefaultRAT(GDALRasterBandH, GDALRasterAttributeTableH)
Set default Raster Attribute Table.
Definition: gdalrasterband.cpp:5890
char ** GDALGetFileList(GDALDatasetH)
Fetch files forming dataset.
Definition: gdaldataset.cpp:2898
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:583
OGRSpatialReferenceH GDALGetGCPSpatialRef(GDALDatasetH)
Get output spatial reference system for GCPs.
Definition: gdaldataset.cpp:1610
Definition: gdal.h:1094
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:5431
Ground Control Point.
Definition: gdal.h:563
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:2852
int GDALGetRasterBandXSize(GDALRasterBandH)
Fetch XSize of raster.
Definition: gdalrasterband.cpp:2732
OGRErr GDALDatasetRollbackTransaction(GDALDatasetH hDS)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: gdaldataset.cpp:7154
int GDALDereferenceDataset(GDALDatasetH)
Subtract one from dataset reference count.
Definition: gdaldataset.cpp:1376
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:1103
CPLErr GDALComputeBandStats(GDALRasterBandH hBand, int nSampleStep, double *pdfMean, double *pdfStdDev, GDALProgressFunc pfnProgress, void *pProgressData)
Undocumented.
Definition: overview.cpp:3920
#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.8.