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

gdal.h

Go to the documentation of this file.
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 */

Generated at Sat Dec 21 14:01:58 2002 for GDAL by doxygen1.2.3-20001105 written by Dimitri van Heesch, © 1997-2000