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

Generated on Mon Aug 9 12:09:04 2004 for GDAL by doxygen 1.3.8