Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

gdal.h

Go to the documentation of this file.
00001 /****************************************************************************** 00002 * $Id: gdal.h,v 1.77 2004/03/10 19:18:29 warmerda Exp $ 00003 * 00004 * Name: gdal.h 00005 * Project: GDAL Core 00006 * Purpose: GDAL Core C/Public declarations. 00007 * Author: Frank Warmerdam, warmerdam@pobox.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,v $ 00032 * Revision 1.77 2004/03/10 19:18:29 warmerda 00033 * updated date 00034 * 00035 * Revision 1.76 2004/03/01 18:30:44 warmerda 00036 * Updated release date. 00037 * 00038 * Revision 1.75 2004/02/25 09:03:15 dron 00039 * Added GDALPackedDMSToDec() and GDALDecToPackedDMS() functions. 00040 * 00041 * Revision 1.74 2004/02/19 15:55:52 warmerda 00042 * updated to 1.2.0 00043 * 00044 * Revision 1.73 2004/02/04 21:30:12 warmerda 00045 * ensure GDALGetDataTypeByName is exported 00046 * 00047 * Revision 1.72 2004/01/18 16:43:37 dron 00048 * Added GDALGetDataTypeByName() function. 00049 * 00050 * Revision 1.71 2003/07/18 04:46:48 sperkins 00051 * added CPL_DLL to GDALFillRaster 00052 * 00053 * Revision 1.70 2003/06/27 20:03:11 warmerda 00054 * updated version to 1.1.9 00055 * 00056 * Revision 1.69 2003/06/03 19:44:00 warmerda 00057 * added GDALRPCInfo support 00058 * 00059 * Revision 1.68 2003/05/06 05:20:38 sperkins 00060 * cleaned up comments 00061 * 00062 * Revision 1.67 2003/05/06 05:13:36 sperkins 00063 * added Fill() and GDALFillRaster() 00064 * 00065 * Revision 1.66 2003/05/02 19:47:57 warmerda 00066 * added C GetBandNumber and GetBandDataset entry points 00067 * 00068 * Revision 1.65 2003/04/30 17:13:48 warmerda 00069 * added docs for many C functions 00070 * 00071 * Revision 1.64 2003/04/30 15:48:31 warmerda 00072 * Fixed email address, trimmed log messages. 00073 * 00074 * Revision 1.63 2003/04/25 19:46:13 warmerda 00075 * added GDALDatasetRasterIO 00076 * 00077 * Revision 1.62 2003/03/18 06:01:03 warmerda 00078 * Added GDALFlushCache() 00079 * 00080 * Revision 1.61 2003/02/20 18:34:12 warmerda 00081 * added GDALGetRasterAccess() 00082 * 00083 * Revision 1.60 2003/01/27 21:55:52 warmerda 00084 * various documentation improvements 00085 * 00086 * Revision 1.59 2002/12/21 17:28:35 warmerda 00087 * actually, lets use 1.1.8.0 00088 * 00089 * Revision 1.58 2002/12/21 17:26:43 warmerda 00090 * updated version to 1.1.7.5 00091 * 00092 * Revision 1.57 2002/12/05 15:46:38 warmerda 00093 * added GDALReadTabFile() 00094 * 00095 * Revision 1.56 2002/11/23 18:07:41 warmerda 00096 * added DMD_CREATIONDATATYPES 00097 * 00098 * Revision 1.55 2002/10/24 14:18:29 warmerda 00099 * intermediate version update 00100 * 00101 * Revision 1.54 2002/09/11 14:17:38 warmerda 00102 * added C GDALSetDescription() 00103 * 00104 * Revision 1.53 2002/09/06 01:29:55 warmerda 00105 * added C entry points for GetAccess() and GetOpenDatasets() 00106 * 00107 * Revision 1.52 2002/09/04 06:52:35 warmerda 00108 * added GDALDestroyDriverManager 00109 * 00110 * Revision 1.51 2002/07/09 20:33:12 warmerda 00111 * expand tabs 00112 * 00113 * Revision 1.50 2002/06/12 21:13:27 warmerda 00114 * use metadata based driver info 00115 * 00116 * Revision 1.49 2002/05/28 18:55:46 warmerda 00117 * added GDALOpenShared() and GDALDumpOpenDatasets 00118 * 00119 * Revision 1.48 2002/05/14 21:38:32 warmerda 00120 * make INST_DATA overidable with binary patch 00121 * 00122 * Revision 1.47 2002/05/06 21:37:29 warmerda 00123 * added GDALGCPsToGeoTransform 00124 * 00125 * Revision 1.46 2002/04/24 16:25:04 warmerda 00126 * Ensure that GDAL{Read,Write}WorldFile() are exported on Windows. 00127 * 00128 * Revision 1.45 2002/04/19 12:22:05 dron 00129 * added GDALWriteWorldFile() 00130 * 00131 * Revision 1.44 2002/04/16 13:59:33 warmerda 00132 * added GDALVersionInfo 00133 * 00134 * Revision 1.43 2002/04/16 13:26:08 warmerda 00135 * upgrade to version 1.1.7 00136 */ 00137 00138 #ifndef GDAL_H_INCLUDED 00139 #define GDAL_H_INCLUDED 00140 00147 #include "cpl_port.h" 00148 #include "cpl_error.h" 00149 00150 /* -------------------------------------------------------------------- */ 00151 /* GDAL Version Information. */ 00152 /* -------------------------------------------------------------------- */ 00153 #ifndef GDAL_VERSION_NUM 00154 # define GDAL_VERSION_NUM 1200 00155 #endif 00156 #ifndef GDAL_RELEASE_DATE 00157 # define GDAL_RELEASE_DATE 20040310 00158 #endif 00159 #ifndef GDAL_RELEASE_NAME 00160 # define GDAL_RELEASE_NAME "1.2.0.0" 00161 #endif 00162 00163 /* -------------------------------------------------------------------- */ 00164 /* Significant constants. */ 00165 /* -------------------------------------------------------------------- */ 00166 00167 CPL_C_START 00168 00170 typedef enum { 00171 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, 00183 GDT_TypeCount = 12 /* maximum type # + 1 */ 00184 } GDALDataType; 00185 00186 int CPL_DLL GDALGetDataTypeSize( GDALDataType ); 00187 int CPL_DLL GDALDataTypeIsComplex( GDALDataType ); 00188 const char CPL_DLL *GDALGetDataTypeName( GDALDataType ); 00189 GDALDataType CPL_DLL GDALGetDataTypeByName( const char * ); 00190 GDALDataType CPL_DLL GDALDataTypeUnion( GDALDataType, GDALDataType ); 00191 00193 typedef enum { GA_ReadOnly = 0, GA_Update = 1 00196 } GDALAccess; 00197 00199 typedef enum { GF_Read = 0, GF_Write = 1 00202 } GDALRWFlag; 00203 00205 typedef enum 00206 { 00207 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 00221 } GDALColorInterp; 00222 00224 const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp ); 00225 00227 typedef enum 00228 { GPI_Gray=0, GPI_RGB=1, GPI_CMYK=2, GPI_HLS=3 00233 } GDALPaletteInterp; 00234 00236 const char CPL_DLL *GDALGetPaletteInterpretationName( GDALPaletteInterp ); 00237 00238 /* -------------------------------------------------------------------- */ 00239 /* GDAL Specific error codes. */ 00240 /* */ 00241 /* error codes 100 to 299 reserved for GDAL. */ 00242 /* -------------------------------------------------------------------- */ 00243 #define CPLE_WrongFormat 200 00244 00245 /* -------------------------------------------------------------------- */ 00246 /* Define handle types related to various internal classes. */ 00247 /* -------------------------------------------------------------------- */ 00248 typedef void *GDALMajorObjectH; 00249 typedef void *GDALDatasetH; 00250 typedef void *GDALRasterBandH; 00251 typedef void *GDALDriverH; 00252 typedef void *GDALProjDefH; 00253 typedef void *GDALColorTableH; 00254 00255 /* -------------------------------------------------------------------- */ 00256 /* Callback "progress" function. */ 00257 /* -------------------------------------------------------------------- */ 00258 00259 typedef int (*GDALProgressFunc)(double,const char *, void *); 00260 int CPL_DLL GDALDummyProgress( double, const char *, void *); 00261 int CPL_DLL GDALTermProgress( double, const char *, void *); 00262 int CPL_DLL GDALScaledProgress( double, const char *, void *); 00263 void CPL_DLL *GDALCreateScaledProgress( double, double, 00264 GDALProgressFunc, void * ); 00265 void CPL_DLL GDALDestroyScaledProgress( void * ); 00266 00267 /* ==================================================================== */ 00268 /* Registration/driver related. */ 00269 /* ==================================================================== */ 00270 00271 typedef struct { 00272 char *pszOptionName; 00273 char *pszValueType; /* "boolean", "int", "float", "string", 00274 "string-select" */ 00275 char *pszDescription; 00276 char **papszOptions; 00277 } GDALOptionDefinition; 00278 00279 #define GDAL_DMD_LONGNAME "DMD_LONGNAME" 00280 #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC" 00281 #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE" 00282 #define GDAL_DMD_EXTENSION "DMD_EXTENSION" 00283 #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST" 00284 #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES" 00285 00286 #define GDAL_DCAP_CREATE "DCAP_CREATE" 00287 #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY" 00288 00289 void CPL_DLL GDALAllRegister( void ); 00290 00291 GDALDatasetH CPL_DLL GDALCreate( GDALDriverH hDriver, 00292 const char *, int, int, int, GDALDataType, 00293 char ** ); 00294 GDALDatasetH CPL_DLL GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH, 00295 int, char **, GDALProgressFunc, void * ); 00296 00297 GDALDatasetH CPL_DLL GDALOpen( const char *pszFilename, GDALAccess eAccess ); 00298 GDALDatasetH CPL_DLL GDALOpenShared( const char *, GDALAccess ); 00299 int CPL_DLL GDALDumpOpenDatasets( FILE * ); 00300 00301 GDALDriverH CPL_DLL GDALGetDriverByName( const char * ); 00302 int CPL_DLL GDALGetDriverCount(); 00303 GDALDriverH CPL_DLL GDALGetDriver( int ); 00304 int CPL_DLL GDALRegisterDriver( GDALDriverH ); 00305 void CPL_DLL GDALDeregisterDriver( GDALDriverH ); 00306 void CPL_DLL GDALDestroyDriverManager( void ); 00307 CPLErr CPL_DLL GDALDeleteDataset( GDALDriverH, const char * ); 00308 00309 /* The following are deprecated */ 00310 const char CPL_DLL *GDALGetDriverShortName( GDALDriverH ); 00311 const char CPL_DLL *GDALGetDriverLongName( GDALDriverH ); 00312 const char CPL_DLL *GDALGetDriverHelpTopic( GDALDriverH ); 00313 00314 /* ==================================================================== */ 00315 /* GDAL_GCP */ 00316 /* ==================================================================== */ 00317 00319 typedef struct 00320 { 00322 char *pszId; 00323 00325 char *pszInfo; 00326 00328 double dfGCPPixel; 00330 double dfGCPLine; 00331 00333 double dfGCPX; 00334 00336 double dfGCPY; 00337 00339 double dfGCPZ; 00340 } GDAL_GCP; 00341 00342 void CPL_DLL GDALInitGCPs( int, GDAL_GCP * ); 00343 void CPL_DLL GDALDeinitGCPs( int, GDAL_GCP * ); 00344 GDAL_GCP CPL_DLL *GDALDuplicateGCPs( int, const GDAL_GCP * ); 00345 00346 int CPL_DLL GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs, 00347 double *padfGeoTransform, int bApproxOK ); 00348 int CPL_DLL GDALInvGeoTransform( double *padfGeoTransformIn, 00349 double *padfInvGeoTransformOut ); 00350 00351 /* ==================================================================== */ 00352 /* major objects (dataset, and, driver, drivermanager). */ 00353 /* ==================================================================== */ 00354 00355 char CPL_DLL **GDALGetMetadata( GDALMajorObjectH, const char * ); 00356 CPLErr CPL_DLL GDALSetMetadata( GDALMajorObjectH, char **, 00357 const char * ); 00358 const char CPL_DLL *GDALGetMetadataItem( GDALMajorObjectH, const char *, 00359 const char * ); 00360 CPLErr CPL_DLL GDALSetMetadataItem( GDALMajorObjectH, 00361 const char *, const char *, 00362 const char * ); 00363 const char CPL_DLL *GDALGetDescription( GDALMajorObjectH ); 00364 void CPL_DLL GDALSetDescription( GDALMajorObjectH, const char * ); 00365 00366 /* ==================================================================== */ 00367 /* GDALDataset class ... normally this represents one file. */ 00368 /* ==================================================================== */ 00369 00370 GDALDriverH CPL_DLL GDALGetDatasetDriver( GDALDatasetH ); 00371 void CPL_DLL GDALClose( GDALDatasetH ); 00372 int CPL_DLL GDALGetRasterXSize( GDALDatasetH ); 00373 int CPL_DLL GDALGetRasterYSize( GDALDatasetH ); 00374 int CPL_DLL GDALGetRasterCount( GDALDatasetH ); 00375 GDALRasterBandH CPL_DLL GDALGetRasterBand( GDALDatasetH, int ); 00376 00377 CPLErr CPL_DLL GDALAddBand( GDALDatasetH hDS, GDALDataType eType, 00378 char **papszOptions ); 00379 00380 CPLErr CPL_DLL GDALDatasetRasterIO( 00381 GDALDatasetH hDS, GDALRWFlag eRWFlag, 00382 int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, 00383 void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, 00384 int nBandCount, int *panBandCount, 00385 int nPixelSpace, int nLineSpace, int nBandSpace); 00386 00387 const char CPL_DLL *GDALGetProjectionRef( GDALDatasetH ); 00388 CPLErr CPL_DLL GDALSetProjection( GDALDatasetH, const char * ); 00389 CPLErr CPL_DLL GDALGetGeoTransform( GDALDatasetH, double * ); 00390 CPLErr CPL_DLL GDALSetGeoTransform( GDALDatasetH, double * ); 00391 00392 int CPL_DLL GDALGetGCPCount( GDALDatasetH ); 00393 const char CPL_DLL *GDALGetGCPProjection( GDALDatasetH ); 00394 const GDAL_GCP CPL_DLL *GDALGetGCPs( GDALDatasetH ); 00395 CPLErr CPL_DLL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *, 00396 const char * ); 00397 00398 void CPL_DLL *GDALGetInternalHandle( GDALDatasetH, const char * ); 00399 int CPL_DLL GDALReferenceDataset( GDALDatasetH ); 00400 int CPL_DLL GDALDereferenceDataset( GDALDatasetH ); 00401 00402 CPLErr CPL_DLL GDALBuildOverviews( GDALDatasetH, const char *, int, int *, 00403 int, int *, GDALProgressFunc, void * ); 00404 void CPL_DLL GDALGetOpenDatasets( GDALDatasetH ***hDS, int *pnCount ); 00405 int CPL_DLL GDALGetAccess( GDALDatasetH hDS ); 00406 void CPL_DLL GDALFlushCache( GDALDatasetH hDS ); 00407 00408 /* ==================================================================== */ 00409 /* GDALRasterBand ... one band/channel in a dataset. */ 00410 /* ==================================================================== */ 00411 00412 GDALDataType CPL_DLL GDALGetRasterDataType( GDALRasterBandH ); 00413 void CPL_DLL GDALGetBlockSize( GDALRasterBandH, 00414 int * pnXSize, int * pnYSize ); 00415 00416 CPLErr CPL_DLL GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag, 00417 int nDSXOff, int nDSYOff, 00418 int nDSXSize, int nDSYSize, 00419 void * pBuffer, int nBXSize, int nBYSize, 00420 GDALDataType eBDataType, 00421 int nPixelSpace, int nLineSpace ); 00422 CPLErr CPL_DLL GDALReadBlock( GDALRasterBandH, int, int, void * ); 00423 CPLErr CPL_DLL GDALWriteBlock( GDALRasterBandH, int, int, void * ); 00424 int CPL_DLL GDALGetRasterBandXSize( GDALRasterBandH ); 00425 int CPL_DLL GDALGetRasterBandYSize( GDALRasterBandH ); 00426 char CPL_DLL **GDALGetRasterMetadata( GDALRasterBandH ); 00427 GDALAccess CPL_DLL GDALGetRasterAccess( GDALRasterBandH ); 00428 int CPL_DLL GDALGetBandNumber( GDALRasterBandH ); 00429 GDALDatasetH CPL_DLL GDALGetBandDataset( GDALRasterBandH ); 00430 00431 GDALColorInterp CPL_DLL GDALGetRasterColorInterpretation( GDALRasterBandH ); 00432 CPLErr CPL_DLL GDALSetRasterColorInterpretation( GDALRasterBandH, 00433 GDALColorInterp ); 00434 GDALColorTableH CPL_DLL GDALGetRasterColorTable( GDALRasterBandH ); 00435 CPLErr CPL_DLL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH ); 00436 int CPL_DLL GDALHasArbitraryOverviews( GDALRasterBandH ); 00437 int CPL_DLL GDALGetOverviewCount( GDALRasterBandH ); 00438 GDALRasterBandH CPL_DLL GDALGetOverview( GDALRasterBandH, int ); 00439 double CPL_DLL GDALGetRasterNoDataValue( GDALRasterBandH, int * ); 00440 CPLErr CPL_DLL GDALSetRasterNoDataValue( GDALRasterBandH, double ); 00441 char CPL_DLL ** GDALGetRasterCategoryNames( GDALRasterBandH ); 00442 CPLErr CPL_DLL GDALSetRasterCategoryNames( GDALRasterBandH, char ** ); 00443 double CPL_DLL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess ); 00444 double CPL_DLL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess ); 00445 const char CPL_DLL *GDALGetRasterUnitType( GDALRasterBandH ); 00446 void CPL_DLL GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK, 00447 double adfMinMax[2] ); 00448 CPLErr CPL_DLL GDALFlushRasterCache( GDALRasterBandH hBand ); 00449 CPLErr CPL_DLL GDALGetRasterHistogram( GDALRasterBandH hBand, 00450 double dfMin, double dfMax, 00451 int nBuckets, int *panHistogram, 00452 int bIncludeOutOfRange, int bApproxOK, 00453 GDALProgressFunc pfnProgress, 00454 void * pProgressData ); 00455 int CPL_DLL GDALGetRandomRasterSample( GDALRasterBandH, int, float * ); 00456 GDALRasterBandH CPL_DLL GDALGetRasterSampleOverview( GDALRasterBandH, int ); 00457 CPLErr CPL_DLL GDALFillRaster( GDALRasterBandH hBand, double dfRealValue, 00458 double dfImaginaryValue ); 00459 CPLErr GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep, 00460 double *pdfMean, double *pdfStdDev, 00461 GDALProgressFunc pfnProgress, 00462 void *pProgressData ); 00463 CPLErr GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand, 00464 int nOverviewCount, 00465 GDALRasterBandH *pahOverviews, 00466 GDALProgressFunc pfnProgress, 00467 void *pProgressData ); 00468 00469 /* -------------------------------------------------------------------- */ 00470 /* Helper functions. */ 00471 /* -------------------------------------------------------------------- */ 00472 void CPL_DLL GDALSwapWords( void *pData, int nWordSize, int nWordCount, 00473 int nWordSkip ); 00474 void CPL_DLL 00475 GDALCopyWords( void * pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, 00476 void * pDstData, GDALDataType eDstType, int nDstPixelOffset, 00477 int nWordCount ); 00478 00479 int CPL_DLL GDALReadWorldFile( const char *pszBaseFilename, 00480 const char *pszExtension, 00481 double * padfGeoTransform ); 00482 int CPL_DLL GDALWriteWorldFile( const char *pszBaseFilename, 00483 const char *pszExtension, 00484 double * padfGeoTransform ); 00485 int CPL_DLL GDALReadTabFile( const char *pszBaseFilename, 00486 double *padfGeoTransform, char **ppszWKT, 00487 int *pnGCPCount, GDAL_GCP **ppasGCPs ); 00488 00489 const char CPL_DLL *GDALDecToDMS( double, const char *, int ); 00490 double CPL_DLL GDALPackedDMSToDec( double ); 00491 double CPL_DLL GDALDecToPackedDMS( double ); 00492 00493 const char CPL_DLL *GDALVersionInfo( const char * ); 00494 00495 typedef struct { 00496 double dfLINE_OFF; 00497 double dfSAMP_OFF; 00498 double dfLAT_OFF; 00499 double dfLONG_OFF; 00500 double dfHEIGHT_OFF; 00501 00502 double dfLINE_SCALE; 00503 double dfSAMP_SCALE; 00504 double dfLAT_SCALE; 00505 double dfLONG_SCALE; 00506 double dfHEIGHT_SCALE; 00507 00508 double adfLINE_NUM_COEFF[20]; 00509 double adfLINE_DEN_COEFF[20]; 00510 double adfSAMP_NUM_COEFF[20]; 00511 double adfSAMP_DEN_COEFF[20]; 00512 00513 double dfMIN_LONG; 00514 double dfMIN_LAT; 00515 double dfMAX_LONG; 00516 double dfMAX_LAT; 00517 00518 } GDALRPCInfo; 00519 00520 int CPL_DLL GDALExtractRPCInfo( char **, GDALRPCInfo * ); 00521 00522 /* ==================================================================== */ 00523 /* Color tables. */ 00524 /* ==================================================================== */ 00526 typedef struct 00527 { 00529 short c1; 00530 00532 short c2; 00533 00535 short c3; 00536 00538 short c4; 00539 } GDALColorEntry; 00540 00541 GDALColorTableH CPL_DLL GDALCreateColorTable( GDALPaletteInterp ); 00542 void CPL_DLL GDALDestroyColorTable( GDALColorTableH ); 00543 GDALColorTableH CPL_DLL GDALCloneColorTable( GDALColorTableH ); 00544 GDALPaletteInterp CPL_DLL GDALGetPaletteInterpretation( GDALColorTableH ); 00545 int CPL_DLL GDALGetColorEntryCount( GDALColorTableH ); 00546 const GDALColorEntry CPL_DLL *GDALGetColorEntry( GDALColorTableH, int ); 00547 int CPL_DLL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *); 00548 void CPL_DLL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * ); 00549 00550 /* ==================================================================== */ 00551 /* GDAL Cache Management */ 00552 /* ==================================================================== */ 00553 00554 void CPL_DLL GDALSetCacheMax( int nBytes ); 00555 int CPL_DLL GDALGetCacheMax(); 00556 int CPL_DLL GDALGetCacheUsed(); 00557 int CPL_DLL GDALFlushCacheBlock(); 00558 00559 CPL_C_END 00560 00561 #endif /* ndef GDAL_H_INCLUDED */

Generated on Thu Jul 29 19:47:52 2004 for GDAL by doxygen 1.3.7