svn-gvsig-desktop / tags / v1_0_RELEASE / libraries / libjni-gdal / include / gdal.h @ 9167
History | View | Annotate | Download (24.3 KB)
1 | 716 | igbrotru | /******************************************************************************
|
---|---|---|---|
2 | * $Id$
|
||
3 | *
|
||
4 | * Name: gdal.h
|
||
5 | * Project: GDAL Core
|
||
6 | * Purpose: GDAL Core C/Public declarations.
|
||
7 | * Author: Frank Warmerdam, warmerdam@pobox.com
|
||
8 | *
|
||
9 | ******************************************************************************
|
||
10 | * Copyright (c) 1998, 2002 Frank Warmerdam
|
||
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 | * $Log$
|
||
32 | 8765 | jjdelcerro | * Revision 1.2.10.2 2006-11-15 00:08:29 jjdelcerro
|
33 | 716 | igbrotru | * *** empty log message ***
|
34 | *
|
||
35 | 7847 | nacho | * Revision 1.3 2006/10/03 07:05:18 nacho
|
36 | * *** empty log message ***
|
||
37 | *
|
||
38 | * Revision 1.1 2006/07/18 16:21:00 nacho
|
||
39 | * *** empty log message ***
|
||
40 | *
|
||
41 | * Revision 1.1 2006/06/29 16:23:27 nacho
|
||
42 | * *** empty log message ***
|
||
43 | *
|
||
44 | * Revision 1.2 2006/01/09 12:50:13 nacho
|
||
45 | * *** empty log message ***
|
||
46 | *
|
||
47 | 3540 | nacho | * Revision 1.1 2005/07/27 08:22:55 igbrotru
|
48 | * *** empty log message ***
|
||
49 | *
|
||
50 | * Revision 1.1 2004/12/28 14:06:59 igbrotru
|
||
51 | * *** empty log message ***
|
||
52 | *
|
||
53 | 716 | igbrotru | * Revision 1.1 2004/10/28 12:08:47 igbrotru
|
54 | * *** empty log message ***
|
||
55 | *
|
||
56 | * Revision 1.1 2004/10/05 11:56:56 igbrotru
|
||
57 | * *** empty log message ***
|
||
58 | *
|
||
59 | * Revision 1.82 2004/06/24 03:10:49 warmerda
|
||
60 | * update to GDAL 1.2.1
|
||
61 | *
|
||
62 | * Revision 1.81 2004/04/29 13:42:58 warmerda
|
||
63 | * added C Offset/Scale entry points
|
||
64 | *
|
||
65 | * Revision 1.80 2004/04/04 20:05:37 warmerda
|
||
66 | * mark as 1.2.0.1
|
||
67 | *
|
||
68 | * Revision 1.79 2004/04/02 17:32:40 warmerda
|
||
69 | * added GDALGeneralCmdLineProcessor()
|
||
70 | *
|
||
71 | * Revision 1.78 2004/03/28 16:01:46 warmerda
|
||
72 | * added GDALApplyGeoTransform()
|
||
73 | *
|
||
74 | * Revision 1.77 2004/03/10 19:18:29 warmerda
|
||
75 | * updated date
|
||
76 | *
|
||
77 | * Revision 1.76 2004/03/01 18:30:44 warmerda
|
||
78 | * Updated release date.
|
||
79 | *
|
||
80 | * Revision 1.75 2004/02/25 09:03:15 dron
|
||
81 | * Added GDALPackedDMSToDec() and GDALDecToPackedDMS() functions.
|
||
82 | *
|
||
83 | * Revision 1.74 2004/02/19 15:55:52 warmerda
|
||
84 | * updated to 1.2.0
|
||
85 | *
|
||
86 | * Revision 1.73 2004/02/04 21:30:12 warmerda
|
||
87 | * ensure GDALGetDataTypeByName is exported
|
||
88 | *
|
||
89 | * Revision 1.72 2004/01/18 16:43:37 dron
|
||
90 | * Added GDALGetDataTypeByName() function.
|
||
91 | *
|
||
92 | * Revision 1.71 2003/07/18 04:46:48 sperkins
|
||
93 | * added CPL_DLL to GDALFillRaster
|
||
94 | *
|
||
95 | * Revision 1.70 2003/06/27 20:03:11 warmerda
|
||
96 | * updated version to 1.1.9
|
||
97 | *
|
||
98 | * Revision 1.69 2003/06/03 19:44:00 warmerda
|
||
99 | * added GDALRPCInfo support
|
||
100 | *
|
||
101 | * Revision 1.68 2003/05/06 05:20:38 sperkins
|
||
102 | * cleaned up comments
|
||
103 | *
|
||
104 | * Revision 1.67 2003/05/06 05:13:36 sperkins
|
||
105 | * added Fill() and GDALFillRaster()
|
||
106 | *
|
||
107 | * Revision 1.66 2003/05/02 19:47:57 warmerda
|
||
108 | * added C GetBandNumber and GetBandDataset entry points
|
||
109 | *
|
||
110 | * Revision 1.65 2003/04/30 17:13:48 warmerda
|
||
111 | * added docs for many C functions
|
||
112 | *
|
||
113 | * Revision 1.64 2003/04/30 15:48:31 warmerda
|
||
114 | * Fixed email address, trimmed log messages.
|
||
115 | *
|
||
116 | * Revision 1.63 2003/04/25 19:46:13 warmerda
|
||
117 | * added GDALDatasetRasterIO
|
||
118 | *
|
||
119 | * Revision 1.62 2003/03/18 06:01:03 warmerda
|
||
120 | * Added GDALFlushCache()
|
||
121 | *
|
||
122 | * Revision 1.61 2003/02/20 18:34:12 warmerda
|
||
123 | * added GDALGetRasterAccess()
|
||
124 | *
|
||
125 | * Revision 1.60 2003/01/27 21:55:52 warmerda
|
||
126 | * various documentation improvements
|
||
127 | *
|
||
128 | * Revision 1.59 2002/12/21 17:28:35 warmerda
|
||
129 | * actually, lets use 1.1.8.0
|
||
130 | *
|
||
131 | * Revision 1.58 2002/12/21 17:26:43 warmerda
|
||
132 | * updated version to 1.1.7.5
|
||
133 | *
|
||
134 | * Revision 1.57 2002/12/05 15:46:38 warmerda
|
||
135 | * added GDALReadTabFile()
|
||
136 | *
|
||
137 | * Revision 1.56 2002/11/23 18:07:41 warmerda
|
||
138 | * added DMD_CREATIONDATATYPES
|
||
139 | *
|
||
140 | * Revision 1.55 2002/10/24 14:18:29 warmerda
|
||
141 | * intermediate version update
|
||
142 | *
|
||
143 | * Revision 1.54 2002/09/11 14:17:38 warmerda
|
||
144 | * added C GDALSetDescription()
|
||
145 | *
|
||
146 | * Revision 1.53 2002/09/06 01:29:55 warmerda
|
||
147 | * added C entry points for GetAccess() and GetOpenDatasets()
|
||
148 | *
|
||
149 | * Revision 1.52 2002/09/04 06:52:35 warmerda
|
||
150 | * added GDALDestroyDriverManager
|
||
151 | *
|
||
152 | * Revision 1.51 2002/07/09 20:33:12 warmerda
|
||
153 | * expand tabs
|
||
154 | *
|
||
155 | * Revision 1.50 2002/06/12 21:13:27 warmerda
|
||
156 | * use metadata based driver info
|
||
157 | *
|
||
158 | * Revision 1.49 2002/05/28 18:55:46 warmerda
|
||
159 | * added GDALOpenShared() and GDALDumpOpenDatasets
|
||
160 | *
|
||
161 | * Revision 1.48 2002/05/14 21:38:32 warmerda
|
||
162 | * make INST_DATA overidable with binary patch
|
||
163 | *
|
||
164 | * Revision 1.47 2002/05/06 21:37:29 warmerda
|
||
165 | * added GDALGCPsToGeoTransform
|
||
166 | *
|
||
167 | * Revision 1.46 2002/04/24 16:25:04 warmerda
|
||
168 | * Ensure that GDAL{Read,Write}WorldFile() are exported on Windows.
|
||
169 | *
|
||
170 | * Revision 1.45 2002/04/19 12:22:05 dron
|
||
171 | * added GDALWriteWorldFile()
|
||
172 | *
|
||
173 | * Revision 1.44 2002/04/16 13:59:33 warmerda
|
||
174 | * added GDALVersionInfo
|
||
175 | *
|
||
176 | * Revision 1.43 2002/04/16 13:26:08 warmerda
|
||
177 | * upgrade to version 1.1.7
|
||
178 | */
|
||
179 | |||
180 | #ifndef GDAL_H_INCLUDED
|
||
181 | #define GDAL_H_INCLUDED
|
||
182 | |||
183 | /**
|
||
184 | * \file gdal.h
|
||
185 | *
|
||
186 | * Public (C callable) GDAL entry points.
|
||
187 | */
|
||
188 | |||
189 | #include "cpl_port.h" |
||
190 | #include "cpl_error.h" |
||
191 | |||
192 | /* -------------------------------------------------------------------- */
|
||
193 | /* GDAL Version Information. */
|
||
194 | /* -------------------------------------------------------------------- */
|
||
195 | #ifndef GDAL_VERSION_NUM
|
||
196 | # define GDAL_VERSION_NUM 1210 |
||
197 | #endif
|
||
198 | #ifndef GDAL_RELEASE_DATE
|
||
199 | # define GDAL_RELEASE_DATE 20040623 |
||
200 | #endif
|
||
201 | #ifndef GDAL_RELEASE_NAME
|
||
202 | # define GDAL_RELEASE_NAME "1.2.1.0" |
||
203 | #endif
|
||
204 | |||
205 | /* -------------------------------------------------------------------- */
|
||
206 | /* Significant constants. */
|
||
207 | /* -------------------------------------------------------------------- */
|
||
208 | |||
209 | CPL_C_START |
||
210 | |||
211 | /*! Pixel data types */
|
||
212 | typedef enum { |
||
213 | GDT_Unknown = 0,
|
||
214 | /*! Eight bit unsigned integer */ GDT_Byte = 1, |
||
215 | /*! Sixteen bit unsigned integer */ GDT_UInt16 = 2, |
||
216 | /*! Sixteen bit signed integer */ GDT_Int16 = 3, |
||
217 | /*! Thirty two bit unsigned integer */ GDT_UInt32 = 4, |
||
218 | /*! Thirty two bit signed integer */ GDT_Int32 = 5, |
||
219 | /*! Thirty two bit floating point */ GDT_Float32 = 6, |
||
220 | /*! Sixty four bit floating point */ GDT_Float64 = 7, |
||
221 | /*! Complex Int16 */ GDT_CInt16 = 8, |
||
222 | /*! Complex Int32 */ GDT_CInt32 = 9, |
||
223 | /*! Complex Float32 */ GDT_CFloat32 = 10, |
||
224 | /*! Complex Float64 */ GDT_CFloat64 = 11, |
||
225 | GDT_TypeCount = 12 /* maximum type # + 1 */ |
||
226 | } GDALDataType; |
||
227 | |||
228 | int CPL_DLL GDALGetDataTypeSize( GDALDataType );
|
||
229 | int CPL_DLL GDALDataTypeIsComplex( GDALDataType );
|
||
230 | const char CPL_DLL *GDALGetDataTypeName( GDALDataType ); |
||
231 | GDALDataType CPL_DLL GDALGetDataTypeByName( const char * ); |
||
232 | GDALDataType CPL_DLL GDALDataTypeUnion( GDALDataType, GDALDataType ); |
||
233 | |||
234 | /*! Flag indicating read/write, or read-only access to data. */
|
||
235 | typedef enum { |
||
236 | /*! Read only (no update) access */ GA_ReadOnly = 0, |
||
237 | /*! Read/write access. */ GA_Update = 1 |
||
238 | } GDALAccess; |
||
239 | |||
240 | /*! Read/Write flag for RasterIO() method */
|
||
241 | typedef enum { |
||
242 | /*! Read data */ GF_Read = 0, |
||
243 | /*! Write data */ GF_Write = 1 |
||
244 | } GDALRWFlag; |
||
245 | |||
246 | /*! Types of color interpretation for raster bands. */
|
||
247 | typedef enum |
||
248 | { |
||
249 | GCI_Undefined=0,
|
||
250 | /*! Greyscale */ GCI_GrayIndex=1, |
||
251 | /*! Paletted (see associated color table) */ GCI_PaletteIndex=2, |
||
252 | /*! Red band of RGBA image */ GCI_RedBand=3, |
||
253 | /*! Green band of RGBA image */ GCI_GreenBand=4, |
||
254 | /*! Blue band of RGBA image */ GCI_BlueBand=5, |
||
255 | /*! Alpha (0=transparent, 255=opaque) */ GCI_AlphaBand=6, |
||
256 | /*! Hue band of HLS image */ GCI_HueBand=7, |
||
257 | /*! Saturation band of HLS image */ GCI_SaturationBand=8, |
||
258 | /*! Lightness band of HLS image */ GCI_LightnessBand=9, |
||
259 | /*! Cyan band of CMYK image */ GCI_CyanBand=10, |
||
260 | /*! Magenta band of CMYK image */ GCI_MagentaBand=11, |
||
261 | /*! Yellow band of CMYK image */ GCI_YellowBand=12, |
||
262 | /*! Black band of CMLY image */ GCI_BlackBand=13 |
||
263 | } GDALColorInterp; |
||
264 | |||
265 | /*! Translate a GDALColorInterp into a user displayable string. */
|
||
266 | const char CPL_DLL *GDALGetColorInterpretationName( GDALColorInterp ); |
||
267 | |||
268 | /*! Types of color interpretations for a GDALColorTable. */
|
||
269 | typedef enum |
||
270 | { |
||
271 | /*! Grayscale (in GDALColorEntry.c1) */ GPI_Gray=0, |
||
272 | /*! Red, Green, Blue and Alpha in (in c1, c2, c3 and c4) */ GPI_RGB=1, |
||
273 | /*! Cyan, Magenta, Yellow and Black (in c1, c2, c3 and c4)*/ GPI_CMYK=2, |
||
274 | /*! Hue, Lightness and Saturation (in c1, c2, and c3) */ GPI_HLS=3 |
||
275 | } GDALPaletteInterp; |
||
276 | |||
277 | /*! Translate a GDALPaletteInterp into a user displayable string. */
|
||
278 | const char CPL_DLL *GDALGetPaletteInterpretationName( GDALPaletteInterp ); |
||
279 | |||
280 | /* -------------------------------------------------------------------- */
|
||
281 | /* GDAL Specific error codes. */
|
||
282 | /* */
|
||
283 | /* error codes 100 to 299 reserved for GDAL. */
|
||
284 | /* -------------------------------------------------------------------- */
|
||
285 | #define CPLE_WrongFormat 200 |
||
286 | |||
287 | /* -------------------------------------------------------------------- */
|
||
288 | /* Define handle types related to various internal classes. */
|
||
289 | /* -------------------------------------------------------------------- */
|
||
290 | typedef void *GDALMajorObjectH; |
||
291 | typedef void *GDALDatasetH; |
||
292 | typedef void *GDALRasterBandH; |
||
293 | typedef void *GDALDriverH; |
||
294 | typedef void *GDALProjDefH; |
||
295 | typedef void *GDALColorTableH; |
||
296 | |||
297 | /* -------------------------------------------------------------------- */
|
||
298 | /* Callback "progress" function. */
|
||
299 | /* -------------------------------------------------------------------- */
|
||
300 | |||
301 | typedef int (*GDALProgressFunc)(double,const char *, void *); |
||
302 | int CPL_DLL GDALDummyProgress( double, const char *, void *); |
||
303 | int CPL_DLL GDALTermProgress( double, const char *, void *); |
||
304 | int CPL_DLL GDALScaledProgress( double, const char *, void *); |
||
305 | void CPL_DLL *GDALCreateScaledProgress( double, double, |
||
306 | GDALProgressFunc, void * );
|
||
307 | void CPL_DLL GDALDestroyScaledProgress( void * ); |
||
308 | |||
309 | /* ==================================================================== */
|
||
310 | /* Registration/driver related. */
|
||
311 | /* ==================================================================== */
|
||
312 | |||
313 | typedef struct { |
||
314 | char *pszOptionName;
|
||
315 | char *pszValueType; /* "boolean", "int", "float", "string", |
||
316 | "string-select" */
|
||
317 | char *pszDescription;
|
||
318 | char **papszOptions;
|
||
319 | } GDALOptionDefinition; |
||
320 | |||
321 | #define GDAL_DMD_LONGNAME "DMD_LONGNAME" |
||
322 | #define GDAL_DMD_HELPTOPIC "DMD_HELPTOPIC" |
||
323 | #define GDAL_DMD_MIMETYPE "DMD_MIMETYPE" |
||
324 | #define GDAL_DMD_EXTENSION "DMD_EXTENSION" |
||
325 | #define GDAL_DMD_CREATIONOPTIONLIST "DMD_CREATIONOPTIONLIST" |
||
326 | #define GDAL_DMD_CREATIONDATATYPES "DMD_CREATIONDATATYPES" |
||
327 | |||
328 | #define GDAL_DCAP_CREATE "DCAP_CREATE" |
||
329 | #define GDAL_DCAP_CREATECOPY "DCAP_CREATECOPY" |
||
330 | |||
331 | void CPL_DLL GDALAllRegister( void ); |
||
332 | |||
333 | GDALDatasetH CPL_DLL GDALCreate( GDALDriverH hDriver, |
||
334 | const char *, int, int, int, GDALDataType, |
||
335 | char ** );
|
||
336 | GDALDatasetH CPL_DLL GDALCreateCopy( GDALDriverH, const char *, GDALDatasetH, |
||
337 | int, char **, GDALProgressFunc, void * ); |
||
338 | |||
339 | GDALDatasetH CPL_DLL GDALOpen( const char *pszFilename, GDALAccess eAccess ); |
||
340 | GDALDatasetH CPL_DLL GDALOpenShared( const char *, GDALAccess ); |
||
341 | int CPL_DLL GDALDumpOpenDatasets( FILE * );
|
||
342 | |||
343 | GDALDriverH CPL_DLL GDALGetDriverByName( const char * ); |
||
344 | int CPL_DLL GDALGetDriverCount();
|
||
345 | GDALDriverH CPL_DLL GDALGetDriver( int );
|
||
346 | int CPL_DLL GDALRegisterDriver( GDALDriverH );
|
||
347 | void CPL_DLL GDALDeregisterDriver( GDALDriverH );
|
||
348 | void CPL_DLL GDALDestroyDriverManager( void ); |
||
349 | CPLErr CPL_DLL GDALDeleteDataset( GDALDriverH, const char * ); |
||
350 | |||
351 | /* The following are deprecated */
|
||
352 | const char CPL_DLL *GDALGetDriverShortName( GDALDriverH ); |
||
353 | const char CPL_DLL *GDALGetDriverLongName( GDALDriverH ); |
||
354 | const char CPL_DLL *GDALGetDriverHelpTopic( GDALDriverH ); |
||
355 | |||
356 | /* ==================================================================== */
|
||
357 | /* GDAL_GCP */
|
||
358 | /* ==================================================================== */
|
||
359 | |||
360 | /** Ground Control Point */
|
||
361 | typedef struct |
||
362 | { |
||
363 | /** Unique identifier, often numeric */
|
||
364 | char *pszId;
|
||
365 | |||
366 | /** Informational message or "" */
|
||
367 | char *pszInfo;
|
||
368 | |||
369 | /** Pixel (x) location of GCP on raster */
|
||
370 | double dfGCPPixel;
|
||
371 | /** Line (y) location of GCP on raster */
|
||
372 | double dfGCPLine;
|
||
373 | |||
374 | /** X position of GCP in georeferenced space */
|
||
375 | double dfGCPX;
|
||
376 | |||
377 | /** Y position of GCP in georeferenced space */
|
||
378 | double dfGCPY;
|
||
379 | |||
380 | /** Elevation of GCP, or zero if not known */
|
||
381 | double dfGCPZ;
|
||
382 | } GDAL_GCP; |
||
383 | |||
384 | void CPL_DLL GDALInitGCPs( int, GDAL_GCP * ); |
||
385 | void CPL_DLL GDALDeinitGCPs( int, GDAL_GCP * ); |
||
386 | GDAL_GCP CPL_DLL *GDALDuplicateGCPs( int, const GDAL_GCP * ); |
||
387 | |||
388 | int CPL_DLL GDALGCPsToGeoTransform( int nGCPCount, const GDAL_GCP *pasGCPs, |
||
389 | double *padfGeoTransform, int bApproxOK ); |
||
390 | int CPL_DLL GDALInvGeoTransform( double *padfGeoTransformIn, |
||
391 | double *padfInvGeoTransformOut );
|
||
392 | void CPL_DLL GDALApplyGeoTransform( double *, double, double, |
||
393 | double *, double * ); |
||
394 | |||
395 | /* ==================================================================== */
|
||
396 | /* major objects (dataset, and, driver, drivermanager). */
|
||
397 | /* ==================================================================== */
|
||
398 | |||
399 | char CPL_DLL **GDALGetMetadata( GDALMajorObjectH, const char * ); |
||
400 | CPLErr CPL_DLL GDALSetMetadata( GDALMajorObjectH, char **,
|
||
401 | const char * ); |
||
402 | const char CPL_DLL *GDALGetMetadataItem( GDALMajorObjectH, const char *, |
||
403 | const char * ); |
||
404 | CPLErr CPL_DLL GDALSetMetadataItem( GDALMajorObjectH, |
||
405 | const char *, const char *, |
||
406 | const char * ); |
||
407 | const char CPL_DLL *GDALGetDescription( GDALMajorObjectH ); |
||
408 | void CPL_DLL GDALSetDescription( GDALMajorObjectH, const char * ); |
||
409 | |||
410 | /* ==================================================================== */
|
||
411 | /* GDALDataset class ... normally this represents one file. */
|
||
412 | /* ==================================================================== */
|
||
413 | |||
414 | GDALDriverH CPL_DLL GDALGetDatasetDriver( GDALDatasetH ); |
||
415 | void CPL_DLL GDALClose( GDALDatasetH );
|
||
416 | int CPL_DLL GDALGetRasterXSize( GDALDatasetH );
|
||
417 | int CPL_DLL GDALGetRasterYSize( GDALDatasetH );
|
||
418 | int CPL_DLL GDALGetRasterCount( GDALDatasetH );
|
||
419 | GDALRasterBandH CPL_DLL GDALGetRasterBand( GDALDatasetH, int );
|
||
420 | |||
421 | CPLErr CPL_DLL GDALAddBand( GDALDatasetH hDS, GDALDataType eType, |
||
422 | char **papszOptions );
|
||
423 | |||
424 | CPLErr CPL_DLL GDALDatasetRasterIO( |
||
425 | GDALDatasetH hDS, GDALRWFlag eRWFlag, |
||
426 | int nDSXOff, int nDSYOff, int nDSXSize, int nDSYSize, |
||
427 | void * pBuffer, int nBXSize, int nBYSize, GDALDataType eBDataType, |
||
428 | int nBandCount, int *panBandCount, |
||
429 | int nPixelSpace, int nLineSpace, int nBandSpace); |
||
430 | |||
431 | const char CPL_DLL *GDALGetProjectionRef( GDALDatasetH ); |
||
432 | CPLErr CPL_DLL GDALSetProjection( GDALDatasetH, const char * ); |
||
433 | CPLErr CPL_DLL GDALGetGeoTransform( GDALDatasetH, double * );
|
||
434 | CPLErr CPL_DLL GDALSetGeoTransform( GDALDatasetH, double * );
|
||
435 | |||
436 | int CPL_DLL GDALGetGCPCount( GDALDatasetH );
|
||
437 | const char CPL_DLL *GDALGetGCPProjection( GDALDatasetH ); |
||
438 | const GDAL_GCP CPL_DLL *GDALGetGCPs( GDALDatasetH );
|
||
439 | CPLErr CPL_DLL GDALSetGCPs( GDALDatasetH, int, const GDAL_GCP *, |
||
440 | const char * ); |
||
441 | |||
442 | void CPL_DLL *GDALGetInternalHandle( GDALDatasetH, const char * ); |
||
443 | int CPL_DLL GDALReferenceDataset( GDALDatasetH );
|
||
444 | int CPL_DLL GDALDereferenceDataset( GDALDatasetH );
|
||
445 | |||
446 | CPLErr CPL_DLL GDALBuildOverviews( GDALDatasetH, const char *, int, int *, |
||
447 | int, int *, GDALProgressFunc, void * ); |
||
448 | void CPL_DLL GDALGetOpenDatasets( GDALDatasetH ***hDS, int *pnCount ); |
||
449 | int CPL_DLL GDALGetAccess( GDALDatasetH hDS );
|
||
450 | void CPL_DLL GDALFlushCache( GDALDatasetH hDS );
|
||
451 | |||
452 | /* ==================================================================== */
|
||
453 | /* GDALRasterBand ... one band/channel in a dataset. */
|
||
454 | /* ==================================================================== */
|
||
455 | |||
456 | GDALDataType CPL_DLL GDALGetRasterDataType( GDALRasterBandH ); |
||
457 | void CPL_DLL GDALGetBlockSize( GDALRasterBandH,
|
||
458 | int * pnXSize, int * pnYSize ); |
||
459 | |||
460 | CPLErr CPL_DLL GDALRasterIO( GDALRasterBandH hRBand, GDALRWFlag eRWFlag, |
||
461 | int nDSXOff, int nDSYOff, |
||
462 | int nDSXSize, int nDSYSize, |
||
463 | void * pBuffer, int nBXSize, int nBYSize, |
||
464 | GDALDataType eBDataType, |
||
465 | int nPixelSpace, int nLineSpace ); |
||
466 | CPLErr CPL_DLL GDALReadBlock( GDALRasterBandH, int, int, void * ); |
||
467 | CPLErr CPL_DLL GDALWriteBlock( GDALRasterBandH, int, int, void * ); |
||
468 | int CPL_DLL GDALGetRasterBandXSize( GDALRasterBandH );
|
||
469 | int CPL_DLL GDALGetRasterBandYSize( GDALRasterBandH );
|
||
470 | char CPL_DLL **GDALGetRasterMetadata( GDALRasterBandH );
|
||
471 | GDALAccess CPL_DLL GDALGetRasterAccess( GDALRasterBandH ); |
||
472 | int CPL_DLL GDALGetBandNumber( GDALRasterBandH );
|
||
473 | GDALDatasetH CPL_DLL GDALGetBandDataset( GDALRasterBandH ); |
||
474 | |||
475 | GDALColorInterp CPL_DLL GDALGetRasterColorInterpretation( GDALRasterBandH ); |
||
476 | CPLErr CPL_DLL GDALSetRasterColorInterpretation( GDALRasterBandH, |
||
477 | GDALColorInterp ); |
||
478 | GDALColorTableH CPL_DLL GDALGetRasterColorTable( GDALRasterBandH ); |
||
479 | CPLErr CPL_DLL GDALSetRasterColorTable( GDALRasterBandH, GDALColorTableH ); |
||
480 | int CPL_DLL GDALHasArbitraryOverviews( GDALRasterBandH );
|
||
481 | int CPL_DLL GDALGetOverviewCount( GDALRasterBandH );
|
||
482 | GDALRasterBandH CPL_DLL GDALGetOverview( GDALRasterBandH, int );
|
||
483 | double CPL_DLL GDALGetRasterNoDataValue( GDALRasterBandH, int * ); |
||
484 | CPLErr CPL_DLL GDALSetRasterNoDataValue( GDALRasterBandH, double );
|
||
485 | char CPL_DLL ** GDALGetRasterCategoryNames( GDALRasterBandH );
|
||
486 | CPLErr CPL_DLL GDALSetRasterCategoryNames( GDALRasterBandH, char ** );
|
||
487 | double CPL_DLL GDALGetRasterMinimum( GDALRasterBandH, int *pbSuccess ); |
||
488 | double CPL_DLL GDALGetRasterMaximum( GDALRasterBandH, int *pbSuccess ); |
||
489 | const char CPL_DLL *GDALGetRasterUnitType( GDALRasterBandH ); |
||
490 | double CPL_DLL GDALGetRasterOffset( GDALRasterBandH, int *pbSuccess ); |
||
491 | double CPL_DLL GDALGetRasterScale( GDALRasterBandH, int *pbSuccess ); |
||
492 | void CPL_DLL GDALComputeRasterMinMax( GDALRasterBandH hBand, int bApproxOK, |
||
493 | double adfMinMax[2] ); |
||
494 | CPLErr CPL_DLL GDALFlushRasterCache( GDALRasterBandH hBand ); |
||
495 | CPLErr CPL_DLL GDALGetRasterHistogram( GDALRasterBandH hBand, |
||
496 | double dfMin, double dfMax, |
||
497 | int nBuckets, int *panHistogram, |
||
498 | int bIncludeOutOfRange, int bApproxOK, |
||
499 | GDALProgressFunc pfnProgress, |
||
500 | void * pProgressData );
|
||
501 | int CPL_DLL GDALGetRandomRasterSample( GDALRasterBandH, int, float * ); |
||
502 | GDALRasterBandH CPL_DLL GDALGetRasterSampleOverview( GDALRasterBandH, int );
|
||
503 | CPLErr CPL_DLL GDALFillRaster( GDALRasterBandH hBand, double dfRealValue,
|
||
504 | double dfImaginaryValue );
|
||
505 | CPLErr GDALComputeBandStats( GDALRasterBandH hBand, int nSampleStep,
|
||
506 | double *pdfMean, double *pdfStdDev, |
||
507 | GDALProgressFunc pfnProgress, |
||
508 | void *pProgressData );
|
||
509 | CPLErr GDALOverviewMagnitudeCorrection( GDALRasterBandH hBaseBand, |
||
510 | int nOverviewCount,
|
||
511 | GDALRasterBandH *pahOverviews, |
||
512 | GDALProgressFunc pfnProgress, |
||
513 | void *pProgressData );
|
||
514 | |||
515 | /* -------------------------------------------------------------------- */
|
||
516 | /* Helper functions. */
|
||
517 | /* -------------------------------------------------------------------- */
|
||
518 | int CPL_DLL GDALGeneralCmdLineProcessor( int nArgc, char ***ppapszArgv, |
||
519 | int nOptions );
|
||
520 | void CPL_DLL GDALSwapWords( void *pData, int nWordSize, int nWordCount, |
||
521 | int nWordSkip );
|
||
522 | void CPL_DLL
|
||
523 | GDALCopyWords( void * pSrcData, GDALDataType eSrcType, int nSrcPixelOffset, |
||
524 | void * pDstData, GDALDataType eDstType, int nDstPixelOffset, |
||
525 | int nWordCount );
|
||
526 | |||
527 | int CPL_DLL GDALReadWorldFile( const char *pszBaseFilename, |
||
528 | const char *pszExtension, |
||
529 | double * padfGeoTransform );
|
||
530 | int CPL_DLL GDALWriteWorldFile( const char *pszBaseFilename, |
||
531 | const char *pszExtension, |
||
532 | double * padfGeoTransform );
|
||
533 | int CPL_DLL GDALReadTabFile( const char *pszBaseFilename, |
||
534 | double *padfGeoTransform, char **ppszWKT, |
||
535 | int *pnGCPCount, GDAL_GCP **ppasGCPs );
|
||
536 | |||
537 | const char CPL_DLL *GDALDecToDMS( double, const char *, int ); |
||
538 | double CPL_DLL GDALPackedDMSToDec( double ); |
||
539 | double CPL_DLL GDALDecToPackedDMS( double ); |
||
540 | |||
541 | const char CPL_DLL *GDALVersionInfo( const char * ); |
||
542 | |||
543 | typedef struct { |
||
544 | double dfLINE_OFF;
|
||
545 | double dfSAMP_OFF;
|
||
546 | double dfLAT_OFF;
|
||
547 | double dfLONG_OFF;
|
||
548 | double dfHEIGHT_OFF;
|
||
549 | |||
550 | double dfLINE_SCALE;
|
||
551 | double dfSAMP_SCALE;
|
||
552 | double dfLAT_SCALE;
|
||
553 | double dfLONG_SCALE;
|
||
554 | double dfHEIGHT_SCALE;
|
||
555 | |||
556 | double adfLINE_NUM_COEFF[20]; |
||
557 | double adfLINE_DEN_COEFF[20]; |
||
558 | double adfSAMP_NUM_COEFF[20]; |
||
559 | double adfSAMP_DEN_COEFF[20]; |
||
560 | |||
561 | double dfMIN_LONG;
|
||
562 | double dfMIN_LAT;
|
||
563 | double dfMAX_LONG;
|
||
564 | double dfMAX_LAT;
|
||
565 | |||
566 | } GDALRPCInfo; |
||
567 | |||
568 | int CPL_DLL GDALExtractRPCInfo( char **, GDALRPCInfo * ); |
||
569 | |||
570 | /* ==================================================================== */
|
||
571 | /* Color tables. */
|
||
572 | /* ==================================================================== */
|
||
573 | /** Color tuple */
|
||
574 | typedef struct |
||
575 | { |
||
576 | /*! gray, red, cyan or hue */
|
||
577 | short c1;
|
||
578 | |||
579 | /*! green, magenta, or lightness */
|
||
580 | short c2;
|
||
581 | |||
582 | /*! blue, yellow, or saturation */
|
||
583 | short c3;
|
||
584 | |||
585 | /*! alpha or blackband */
|
||
586 | short c4;
|
||
587 | } GDALColorEntry; |
||
588 | |||
589 | GDALColorTableH CPL_DLL GDALCreateColorTable( GDALPaletteInterp ); |
||
590 | void CPL_DLL GDALDestroyColorTable( GDALColorTableH );
|
||
591 | GDALColorTableH CPL_DLL GDALCloneColorTable( GDALColorTableH ); |
||
592 | GDALPaletteInterp CPL_DLL GDALGetPaletteInterpretation( GDALColorTableH ); |
||
593 | int CPL_DLL GDALGetColorEntryCount( GDALColorTableH );
|
||
594 | const GDALColorEntry CPL_DLL *GDALGetColorEntry( GDALColorTableH, int ); |
||
595 | int CPL_DLL GDALGetColorEntryAsRGB( GDALColorTableH, int, GDALColorEntry *); |
||
596 | void CPL_DLL GDALSetColorEntry( GDALColorTableH, int, const GDALColorEntry * ); |
||
597 | |||
598 | /* ==================================================================== */
|
||
599 | /* GDAL Cache Management */
|
||
600 | /* ==================================================================== */
|
||
601 | |||
602 | void CPL_DLL GDALSetCacheMax( int nBytes ); |
||
603 | int CPL_DLL GDALGetCacheMax();
|
||
604 | int CPL_DLL GDALGetCacheUsed();
|
||
605 | int CPL_DLL GDALFlushCacheBlock();
|
||
606 | |||
607 | CPL_C_END |
||
608 | |||
609 | #endif /* ndef GDAL_H_INCLUDED */ |