00001 /******************************************************************************
00002 * $Id: gdal_h-source.html,v 1.14 2002/12/21 19:13:12 warmerda Exp $
00003 *
00004 * Name: gdal.h
00005 * Project: GDAL Core
00006 * Purpose: GDAL Core C/Public declarations.
00007 * Author: Frank Warmerdam, warmerda@home.com
00008 *
00009 ******************************************************************************
00010 * Copyright (c) 1998, 2002 Frank Warmerdam
00011 *
00012 * Permission is hereby granted, free of charge, to any person obtaining a
00013 * copy of this software and associated documentation files (the "Software"),
00014 * to deal in the Software without restriction, including without limitation
00015 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00016 * and/or sell copies of the Software, and to permit persons to whom the
00017 * Software is furnished to do so, subject to the following conditions:
00018 *
00019 * The above copyright notice and this permission notice shall be included
00020 * in all copies or substantial portions of the Software.
00021 *
00022 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00023 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00024 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
00025 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00026 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00027 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00028 * DEALINGS IN THE SOFTWARE.
00029 ******************************************************************************
00030 *
00031 * $Log: gdal_h-source.html,v $
00031 * Revision 1.14 2002/12/21 19:13:12 warmerda
00031 * updated
00031 *
00032 * Revision 1.59 2002/12/21 17:28:35 warmerda
00033 * actually, lets use 1.1.8.0
00034 *
00035 * Revision 1.58 2002/12/21 17:26:43 warmerda
00036 * updated version to 1.1.7.5
00037 *
00038 * Revision 1.57 2002/12/05 15:46:38 warmerda
00039 * added GDALReadTabFile()
00040 *
00041 * Revision 1.56 2002/11/23 18:07:41 warmerda
00042 * added DMD_CREATIONDATATYPES
00043 *
00044 * Revision 1.55 2002/10/24 14:18:29 warmerda
00045 * intermediate version update
00046 *
00047 * Revision 1.54 2002/09/11 14:17:38 warmerda
00048 * added C GDALSetDescription()
00049 *
00050 * Revision 1.53 2002/09/06 01:29:55 warmerda
00051 * added C entry points for GetAccess() and GetOpenDatasets()
00052 *
00053 * Revision 1.52 2002/09/04 06:52:35 warmerda
00054 * added GDALDestroyDriverManager
00055 *
00056 * Revision 1.51 2002/07/09 20:33:12 warmerda
00057 * expand tabs
00058 *
00059 * Revision 1.50 2002/06/12 21:13:27 warmerda
00060 * use metadata based driver info
00061 *
00062 * Revision 1.49 2002/05/28 18:55:46 warmerda
00063 * added GDALOpenShared() and GDALDumpOpenDatasets
00064 *
00065 * Revision 1.48 2002/05/14 21:38:32 warmerda
00066 * make INST_DATA overidable with binary patch
00067 *
00068 * Revision 1.47 2002/05/06 21:37:29 warmerda
00069 * added GDALGCPsToGeoTransform
00070 *
00071 * Revision 1.46 2002/04/24 16:25:04 warmerda
00072 * Ensure that GDAL{Read,Write}WorldFile() are exported on Windows.
00073 *
00074 * Revision 1.45 2002/04/19 12:22:05 dron
00075 * added GDALWriteWorldFile()
00076 *
00077 * Revision 1.44 2002/04/16 13:59:33 warmerda
00078 * added GDALVersionInfo
00079 *
00080 * Revision 1.43 2002/04/16 13:26:08 warmerda
00081 * upgrade to version 1.1.7
00082 *
00083 * Revision 1.42 2002/02/04 19:23:09 warmerda
00084 * *** empty log message ***
00085 *
00086 * Revision 1.41 2002/01/13 03:12:04 warmerda
00087 * added version/release information
00088 *
00089 * Revision 1.40 2001/12/10 17:43:22 warmerda
00090 * fixed GDALAddBand() prototype
00091 *
00092 * Revision 1.39 2001/11/18 00:52:15 warmerda
00093 * removed GDALProjDef
00094 *
00095 * Revision 1.38 2001/11/16 21:36:01 warmerda
00096 * added the AddBand() method on GDALDataset
00097 *
00098 * Revision 1.37 2001/10/17 21:47:02 warmerda
00099 * added SetGCPs() on GDALDataset
00100 *
00101 * Revision 1.36 2001/07/05 13:13:40 warmerda
00102 * added UnitType from C support
00103 *
00104 * Revision 1.35 2001/05/01 18:09:25 warmerda
00105 * added GDALReadWorldFile()
00106 *
00107 * Revision 1.34 2001/01/30 22:32:42 warmerda
00108 * added AVERAGE_MP (magnitude preserving averaging) overview resampling type
00109 *
00110 * Revision 1.33 2000/10/06 18:30:01 warmerda
00111 * Fixed CPL_DLL position for GDALGetRasterCategoryNames().
00112 *
00113 * Revision 1.32 2000/10/06 15:23:03 warmerda
00114 * added some new functions
00115 *
00116 * Revision 1.31 2000/08/25 14:26:51 warmerda
00117 * added GDALHasArbitraryOverviews
00118 *
00119 * Revision 1.30 2000/08/18 15:24:48 warmerda
00120 * added GDALTermProgress
00121 *
00122 * Revision 1.29 2000/07/11 14:35:43 warmerda
00123 * added documentation
00124 *
00125 * Revision 1.28 2000/06/27 17:30:21 warmerda
00126 * added GDALGetRasterSampleOverview
00127 *
00128 * Revision 1.27 2000/06/26 22:17:49 warmerda
00129 * added scaled progress support
00130 *
00131 * Revision 1.26 2000/06/26 18:47:31 warmerda
00132 * added GDALBuildOverviews
00133 *
00134 * Revision 1.25 2000/06/26 15:26:21 warmerda
00135 * added GDALGetDescription
00136 *
00137 * Revision 1.24 2000/06/05 17:24:05 warmerda
00138 * added real complex support
00139 *
00140 * Revision 1.23 2000/04/30 23:22:16 warmerda
00141 * added CreateCopy support
00142 *
00143 * Revision 1.22 2000/04/26 18:25:29 warmerda
00144 * added missing CPL_DLL attributes
00145 *
00146 * Revision 1.21 2000/04/21 21:54:37 warmerda
00147 * updated metadata API
00148 *
00149 * Revision 1.20 2000/03/31 13:41:25 warmerda
00150 * added gcps
00151 *
00152 * Revision 1.19 2000/03/24 00:09:05 warmerda
00153 * rewrote cache management
00154 *
00155 * Revision 1.18 2000/03/09 23:22:03 warmerda
00156 * added GetHistogram
00157 *
00158 * Revision 1.17 2000/03/08 19:59:16 warmerda
00159 * added GDALFlushRasterCache
00160 *
00161 * Revision 1.16 2000/03/06 21:50:37 warmerda
00162 * added min/max support
00163 *
00164 * Revision 1.15 2000/03/06 02:19:56 warmerda
00165 * added lots of new functions
00166 *
00167 * Revision 1.14 2000/01/31 14:24:36 warmerda
00168 * implemented dataset delete
00169 *
00170 * Revision 1.13 1999/11/11 21:59:06 warmerda
00171 * added GetDriver() for datasets
00172 *
00173 * Revision 1.12 1999/10/21 13:23:28 warmerda
00174 * Added C callable driver related functions.
00175 *
00176 * Revision 1.11 1999/10/01 14:44:02 warmerda
00177 * added documentation
00178 *
00179 * Revision 1.10 1999/07/23 19:35:22 warmerda
00180 * added GDALSwapWords(), GDALCopyWords()
00181 *
00182 * Revision 1.9 1999/05/23 02:46:26 warmerda
00183 * Added documentation short description.
00184 *
00185 * Revision 1.8 1999/04/21 04:16:13 warmerda
00186 * experimental docs
00187 *
00188 * Revision 1.7 1999/03/02 21:09:48 warmerda
00189 * add GDALDecToDMS()
00190 *
00191 * Revision 1.6 1999/01/11 15:36:17 warmerda
00192 * Added projections support, and a few other things.
00193 *
00194 * Revision 1.5 1998/12/31 18:53:33 warmerda
00195 * Add GDALGetDriverByName
00196 *
00197 * Revision 1.4 1998/12/06 22:16:27 warmerda
00198 * Added GDALCreate().
00199 *
00200 * Revision 1.3 1998/12/06 02:50:36 warmerda
00201 * Added three new functions.
00202 *
00203 * Revision 1.2 1998/12/03 18:34:05 warmerda
00204 * Update to use CPL
00205 *
00206 * Revision 1.1 1998/10/18 06:15:10 warmerda
00207 * Initial implementation.
00208 *
00209 */
00210
00211 #ifndef GDAL_H_INCLUDED
00212 #define GDAL_H_INCLUDED
00213
00220 #include "cpl_port.h"
00221 #include "cpl_error.h"
00222
00223 /* -------------------------------------------------------------------- */
00224 /* GDAL Version Information. */
00225 /* -------------------------------------------------------------------- */
00226 #ifndef GDAL_VERSION_NUM
00227 # define GDAL_VERSION_NUM 1180
00228 #endif
00229 #ifndef GDAL_RELEASE_DATE
00230 # define GDAL_RELEASE_DATE 20021221
00231 #endif
00232 #ifndef GDAL_RELEASE_NAME
00233 # define GDAL_RELEASE_NAME "1.1.8.0"
00234 #endif
00235
00236 /* -------------------------------------------------------------------- */
00237 /* Significant constants. */
00238 /* -------------------------------------------------------------------- */
00239
00240 CPL_C_START
00241
00243 typedef enum {
00244 GDT_Unknown = 0, GDT_Byte = 1, GDT_UInt16 = 2, GDT_Int16 = 3, GDT_UInt32 = 4, GDT_Int32 = 5, GDT_Float32 = 6, GDT_Float64 = 7, GDT_CInt16 = 8, GDT_CInt32 = 9, GDT_CFloat32 = 10, GDT_CFloat64 = 11,
00256 GDT_TypeCount = 12 /* maximum type # + 1 */
00257 } GDALDataType;
00258
00259 int CPL_DLL GDALGetDataTypeSize( GDALDataType );
00260 int CPL_DLL GDALDataTypeIsComplex( GDALDataType );
00261 const char CPL_DLL *GDALGetDataTypeName( GDALDataType );
00262 GDALDataType CPL_DLL GDALDataTypeUnion( GDALDataType, GDALDataType );
00263
00265 typedef enum { GA_ReadOnly = 0, GA_Update = 1
00268 } GDALAccess;
00269
00271 typedef enum { GF_Read = 0, GF_Write = 1
00274 } GDALRWFlag;
00275
00277 typedef enum
00278 {
00279 GCI_Undefined=0, GCI_GrayIndex=1, GCI_PaletteIndex=2, GCI_RedBand=3, GCI_GreenBand=4, GCI_BlueBand=5, GCI_AlphaBand=6, GCI_HueBand=7, GCI_SaturationBand=8, GCI_LightnessBand=9, GCI_CyanBand=10, GCI_MagentaBand=11, GCI_YellowBand=12, GCI_BlackBand=13
00293 } GDALColorInterp;
00294
00296 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp );
00297
00299 typedef enum
00300 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3
00305 } GDALPaletteInterp;
00306
00308 const char CPL_DLL *GDALGetPaletteInterpretationName( GDALPaletteInterp );
00309
00310 /* -------------------------------------------------------------------- */
00311 /* GDAL Specific error codes. */
00312 /* */
00313 /* error codes 100 to 299 reserved for GDAL. */
00314 /* -------------------------------------------------------------------- */
00315 #define CPLE_WrongFormat 200
00316
00317 /* -------------------------------------------------------------------- */
00318 /* Define handle types related to various internal classes. */
00319 /* -------------------------------------------------------------------- */
00320 typedef void *GDALMajorObjectH;
00321 typedef void *GDALDatasetH;
00322 typedef void *GDALRasterBandH;
00323 typedef void *GDALDriverH;
00324 typedef void *GDALProjDefH;
00325 typedef void *GDALColorTableH;
00326
00327 /* -------------------------------------------------------------------- */
00328 /* Callback "progress" function. */
00329 /* -------------------------------------------------------------------- */
00332 typedef int (*GDALProgressFunc)(double,const char *, void *);
00333 int CPL_DLL GDALDummyProgress( double, const char *, void *);
00334 int CPL_DLL GDALTermProgress( double, const char *, void *);
00335 int CPL_DLL GDALScaledProgress( double, const char *, void *);
00336 void CPL_DLL *GDALCreateScaledProgress( double, double,
00337 GDALProgressFunc, void * );
00338 void CPL_DLL GDALDestroyScaledProgress( void * );
00339
00340 /* ==================================================================== */
00341 /* Registration/driver related. */
00342 /* ==================================================================== */
00343
00344 typedef struct {
00345 char *pszOptionName;
00346 char *pszValueType; /* "boolean", "int", "float", "string",
00347 "string-select" */
00348 char *pszDescription;
00349 char **papszOptions;
00350 } GDALOptionDefinition;
00351
00352 #define GDAL_DMD_LONGNAME "DMD_LONGNAME"
00353 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC"
00354 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE"
00355 #define GDAL_DMD_EXTENSION "DMD_EXTENSION"
00356 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST"
00357 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES"
00358
00359 #define GDAL_DCAP_CREATE "DCAP_CREATE"
00360 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY"
00361
00362 void CPL_DLL GDALAllRegister( void );
00363
00364 GDALDatasetH CPL_DLL GDALCreate( GDALDriverH hDriver,
00365 const char *, int, int, int, GDALDataType,
00366 char ** );
00367 GDALDatasetH CPL_DLL GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH,
00368 int, char **, GDALProgressFunc, void * );
00369
00370 GDALDatasetH CPL_DLL GDALOpen( const char *, GDALAccess );
00371 GDALDatasetH CPL_DLL GDALOpenShared( const char *, GDALAccess );
00372 int CPL_DLL GDALDumpOpenDatasets( FILE * );
00373
00374 GDALDriverH CPL_DLL GDALGetDriverByName( const char * );
00375 int CPL_DLL GDALGetDriverCount();
00376 GDALDriverH CPL_DLL GDALGetDriver( int );
00377 int CPL_DLL GDALRegisterDriver( GDALDriverH );
00378 void CPL_DLL GDALDeregisterDriver( GDALDriverH );
00379 void CPL_DLL GDALDestroyDriverManager( void );
00380 CPLErr CPL_DLL GDALDeleteDataset( GDALDriverH, const char * );
00381
00382 /* The following are deprecated */
00383 const char CPL_DLL *GDALGetDriverShortName( GDALDriverH );
00384 const char CPL_DLL *GDALGetDriverLongName( GDALDriverH );
00385 const char CPL_DLL *GDALGetDriverHelpTopic( GDALDriverH );
00386
00387 /* ==================================================================== */
00388 /* GDAL_GCP */
00389 /* ==================================================================== */
00390
00392 typedef struct
00393 {
00395 char *pszId;
00396
00398 char *pszInfo;
00399
00401 double dfGCPPixel;
00403 double dfGCPLine;
00404
00406 double dfGCPX;
00407
00409 double dfGCPY;
00410
00412 double dfGCPZ;
00413 } GDAL_GCP;
00414
00415 void CPL_DLL GDALInitGCPs( int, GDAL_GCP * );
00416 void CPL_DLL GDALDeinitGCPs( int, GDAL_GCP * );
00417 GDAL_GCP CPL_DLL *GDALDuplicateGCPs( int, const GDAL_GCP * );
00418
00419 int CPL_DLL GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs,
00420 double *padfGeoTransform, int bApproxOK );
00421
00422 /* ==================================================================== */
00423 /* major objects (dataset, and, driver, drivermanager). */
00424 /* ==================================================================== */
00425
00426 char CPL_DLL **GDALGetMetadata( GDALMajorObjectH, const char * );
00427 CPLErr CPL_DLL GDALSetMetadata( GDALMajorObjectH, char **,
00428 const char * );
00429 const char CPL_DLL *GDALGetMetadataItem( GDALMajorObjectH, const char *,
00430 const char * );
00431 CPLErr CPL_DLL GDALSetMetadataItem( GDALMajorObjectH,
00432 const char *, const char *,
00433 const char * );
00434 const char CPL_DLL *GDALGetDescription( GDALMajorObjectH );
00435 void CPL_DLL GDALSetDescription( GDALMajorObjectH, const char * );
00436
00437 /* ==================================================================== */
00438 /* GDALDataset class ... normally this represents one file. */
00439 /* ==================================================================== */
00440
00441 GDALDriverH CPL_DLL GDALGetDatasetDriver( GDALDatasetH );
00442 void CPL_DLL GDALClose( GDALDatasetH );
00443 int CPL_DLL GDALGetRasterXSize( GDALDatasetH );
00444 int CPL_DLL GDALGetRasterYSize( GDALDatasetH );
00445 int CPL_DLL GDALGetRasterCount( GDALDatasetH );
00446 GDALRasterBandH CPL_DLL GDALGetRasterBand( GDALDatasetH, int );
00447
00448 CPLErr CPL_DLL GDALAddBand( GDALDatasetH hDS, GDALDataType eType,
00449 char **papszOptions );
00450
00451 const char CPL_DLL *GDALGetProjectionRef( GDALDatasetH );
00452 CPLErr CPL_DLL GDALSetProjection( GDALDatasetH, const char * );
00453 CPLErr CPL_DLL GDALGetGeoTransform( GDALDatasetH, double * );
00454 CPLErr CPL_DLL GDALSetGeoTransform( GDALDatasetH, double * );
00455
00456 int CPL_DLL GDALGetGCPCount( GDALDatasetH );
00457 const char CPL_DLL *GDALGetGCPProjection( GDALDatasetH );
00458 const GDAL_GCP CPL_DLL *GDALGetGCPs( GDALDatasetH );
00459 CPLErr CPL_DLL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *,
00460 const char * );
00461
00462 void CPL_DLL *GDALGetInternalHandle( GDALDatasetH, const char * );
00463 int CPL_DLL GDALReferenceDataset( GDALDatasetH );
00464 int CPL_DLL GDALDereferenceDataset( GDALDatasetH );
00465
00466 CPLErr CPL_DLL GDALBuildOverviews( GDALDatasetH, const char *, int, int *,
00467 int, int *, GDALProgressFunc, void * );
00468 void CPL_DLL GDALGetOpenDatasets( GDALDatasetH ***hDS, int *pnCount );
00469 int CPL_DLL GDALGetAccess( GDALDatasetH hDS );
00470
00471 /* ==================================================================== */
00472 /* GDALRasterBand ... one band/channel in a dataset. */
00473 /* ==================================================================== */
00474
00475 GDALDataType CPL_DLL GDALGetRasterDataType( GDALRasterBandH );
00476 void CPL_DLL GDALGetBlockSize( GDALRasterBandH,
00477 int * pnXSize, int * pnYSize );
00478
00479 CPLErr CPL_DLL GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag,
00480 int nDSXOff, int nDSYOff,
00481 int nDSXSize, int nDSYSize,
00482 void * pBuffer, int nBXSize, int nBYSize,
00483 GDALDataType eBDataType,
00484 int nPixelSpace, int nLineSpace );
00485 CPLErr CPL_DLL GDALReadBlock( GDALRasterBandH, int, int, void * );
00486 CPLErr CPL_DLL GDALWriteBlock( GDALRasterBandH, int, int, void * );
00487 int CPL_DLL GDALGetRasterBandXSize( GDALRasterBandH );
00488 int CPL_DLL GDALGetRasterBandYSize( GDALRasterBandH );
00489 char CPL_DLL **GDALGetRasterMetadata( GDALRasterBandH );
00490
00491 GDALColorInterp CPL_DLL GDALGetRasterColorInterpretation( GDALRasterBandH );
00492 CPLErr CPL_DLL GDALSetRasterColorInterpretation( GDALRasterBandH,
00493 GDALColorInterp );
00494 GDALColorTableH CPL_DLL GDALGetRasterColorTable( GDALRasterBandH );
00495 CPLErr CPL_DLL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH );
00496 int CPL_DLL GDALHasArbitraryOverviews( GDALRasterBandH );
00497 int CPL_DLL GDALGetOverviewCount( GDALRasterBandH );
00498 GDALRasterBandH CPL_DLL GDALGetOverview( GDALRasterBandH, int );
00499 double CPL_DLL GDALGetRasterNoDataValue( GDALRasterBandH, int * );
00500 CPLErr CPL_DLL GDALSetRasterNoDataValue( GDALRasterBandH, double );
00501 char CPL_DLL ** GDALGetRasterCategoryNames( GDALRasterBandH );
00502 CPLErr CPL_DLL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
00503 double CPL_DLL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess );
00504 double CPL_DLL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess );
00505 const char CPL_DLL *GDALGetRasterUnitType( GDALRasterBandH );
00506 void CPL_DLL GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK,
00507 double adfMinMax[2] );
00508 CPLErr CPL_DLL GDALFlushRasterCache( GDALRasterBandH hBand );
00509 CPLErr CPL_DLL GDALGetRasterHistogram( GDALRasterBandH hBand,
00510 double dfMin, double dfMax,
00511 int nBuckets, int *panHistogram,
00512 int bIncludeOutOfRange, int bApproxOK,
00513 GDALProgressFunc pfnProgress,
00514 void * pProgressData );
00515 int CPL_DLL GDALGetRandomRasterSample( GDALRasterBandH, int, float * );
00516 GDALRasterBandH CPL_DLL GDALGetRasterSampleOverview( GDALRasterBandH, int );
00517
00518 CPLErr GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
00519 double *pdfMean, double *pdfStdDev,
00520 GDALProgressFunc pfnProgress,
00521 void *pProgressData );
00522 CPLErr GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand,
00523 int nOverviewCount,
00524 GDALRasterBandH *pahOverviews,
00525 GDALProgressFunc pfnProgress,
00526 void *pProgressData );
00527
00528 /* -------------------------------------------------------------------- */
00529 /* Helper functions. */
00530 /* -------------------------------------------------------------------- */
00531 void CPL_DLL GDALSwapWords( void *pData, int nWordSize, int nWordCount,
00532 int nWordSkip );
00533 void CPL_DLL
00534 GDALCopyWords( void * pSrcData, GDALDataType eSrcType, int nSrcPixelOffset,
00535 void * pDstData, GDALDataType eDstType, int nDstPixelOffset,
00536 int nWordCount );
00537
00538 int CPL_DLL GDALReadWorldFile( const char *pszBaseFilename,
00539 const char *pszExtension,
00540 double * padfGeoTransform );
00541 int CPL_DLL GDALWriteWorldFile( const char *pszBaseFilename,
00542 const char *pszExtension,
00543 double * padfGeoTransform );
00544 int CPL_DLL GDALReadTabFile( const char *pszBaseFilename,
00545 double *padfGeoTransform, char **ppszWKT,
00546 int *pnGCPCount, GDAL_GCP **ppasGCPs );
00547
00548 const char CPL_DLL *GDALDecToDMS( double, const char *, int );
00549
00550 const char CPL_DLL *GDALVersionInfo( const char * );
00551
00552 /* ==================================================================== */
00553 /* Color tables. */
00554 /* ==================================================================== */
00556 typedef struct
00557 {
00559 short c1;
00560
00562 short c2;
00563
00565 short c3;
00566
00568 short c4;
00569 } GDALColorEntry;
00570
00571 GDALColorTableH CPL_DLL GDALCreateColorTable( GDALPaletteInterp );
00572 void CPL_DLL GDALDestroyColorTable( GDALColorTableH );
00573 GDALColorTableH CPL_DLL GDALCloneColorTable( GDALColorTableH );
00574 GDALPaletteInterp CPL_DLL GDALGetPaletteInterpretation( GDALColorTableH );
00575 int CPL_DLL GDALGetColorEntryCount( GDALColorTableH );
00576 const GDALColorEntry CPL_DLL *GDALGetColorEntry( GDALColorTableH, int );
00577 int CPL_DLL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *);
00578 void CPL_DLL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * );
00579
00580 /* ==================================================================== */
00581 /* GDAL Cache Management */
00582 /* ==================================================================== */
00583
00584 void CPL_DLL GDALSetCacheMax( int nBytes );
00585 int CPL_DLL GDALGetCacheMax();
00586 int CPL_DLL GDALGetCacheUsed();
00587 int CPL_DLL GDALFlushCacheBlock();
00588
00589 CPL_C_END
00590
00591 #endif /* ndef GDAL_H_INCLUDED */
1.2.3-20001105 written by Dimitri van Heesch,
© 1997-2000