GDAL

- Main Page
- Related Pages
- Classes
- Files

- File List
- File Members

gdal_alg.h
Go to the documentation of this file.
1 /******************************************************************************
2 * $Id: gdal_alg.h 33715 2016-03-13 08:52:06Z goatbar $
3 *
4 * Project: GDAL Image Processing Algorithms
5 * Purpose: Prototypes, and definitions for various GDAL based algorithms.
6 * Author: Frank Warmerdam, warmerdam@pobox.com
7 *
8 ******************************************************************************
9 * Copyright (c) 2001, Frank Warmerdam
10 * Copyright (c) 2008-2012, Even Rouault <even dot rouault at mines-paris dot org>
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 #ifndef GDAL_ALG_H_INCLUDED
32 #define GDAL_ALG_H_INCLUDED
33
40 #ifndef DOXYGEN_SKIP
41 #include "gdal.h"
42 #include "cpl_minixml.h"
43 #include "ogr_api.h"
44 #endif
45
46 CPL_C_START
47
48 int CPL_DLL CPL_STDCALL GDALComputeMedianCutPCT( GDALRasterBandH hRed,
49 GDALRasterBandH hGreen,
50 GDALRasterBandH hBlue,
51 int (*pfnIncludePixel)(int,int,void*),
52 int nColors,
53 GDALColorTableH hColorTable,
54 GDALProgressFunc pfnProgress,
55 void * pProgressArg );
56
57 int CPL_DLL CPL_STDCALL GDALDitherRGB2PCT( GDALRasterBandH hRed,
58 GDALRasterBandH hGreen,
59 GDALRasterBandH hBlue,
60 GDALRasterBandH hTarget,
61 GDALColorTableH hColorTable,
62 GDALProgressFunc pfnProgress,
63 void * pProgressArg );
64
65 int CPL_DLL CPL_STDCALL GDALChecksumImage( GDALRasterBandH hBand,
66 int nXOff, int nYOff, int nXSize, int nYSize );
67
68 CPLErr CPL_DLL CPL_STDCALL
69 GDALComputeProximity( GDALRasterBandH hSrcBand,
70 GDALRasterBandH hProximityBand,
71 char **papszOptions,
72 GDALProgressFunc pfnProgress,
73 void * pProgressArg );
74
75 CPLErr CPL_DLL CPL_STDCALL
76 GDALFillNodata( GDALRasterBandH hTargetBand,
77 GDALRasterBandH hMaskBand,
78 double dfMaxSearchDist,
79 int bDeprecatedOption,
80 int nSmoothingIterations,
81 char **papszOptions,
82 GDALProgressFunc pfnProgress,
83 void * pProgressArg );
84
85 CPLErr CPL_DLL CPL_STDCALL
86 GDALPolygonize( GDALRasterBandH hSrcBand,
87 GDALRasterBandH hMaskBand,
88 OGRLayerH hOutLayer, int iPixValField,
89 char **papszOptions,
90 GDALProgressFunc pfnProgress,
91 void * pProgressArg );
92
93 CPLErr CPL_DLL CPL_STDCALL
94 GDALFPolygonize( GDALRasterBandH hSrcBand,
95 GDALRasterBandH hMaskBand,
96 OGRLayerH hOutLayer, int iPixValField,
97 char **papszOptions,
98 GDALProgressFunc pfnProgress,
99 void * pProgressArg );
100
101 CPLErr CPL_DLL CPL_STDCALL
102 GDALSieveFilter( GDALRasterBandH hSrcBand, GDALRasterBandH hMaskBand,
103 GDALRasterBandH hDstBand,
104 int nSizeThreshold, int nConnectedness,
105 char **papszOptions,
106 GDALProgressFunc pfnProgress,
107 void * pProgressArg );
108
109 /*
110 * Warp Related.
111 */
112
113 typedef int
114 (*GDALTransformerFunc)( void *pTransformerArg,
115 int bDstToSrc, int nPointCount,
116 double *x, double *y, double *z, int *panSuccess );
117
118 #define GDAL_GTI2_SIGNATURE "GTI2"
119
120 typedef struct {
121 GByte abySignature[4];
122 const char *pszClassName;
123 GDALTransformerFunc pfnTransform;
124 void (*pfnCleanup)( void * pTransformerArg );
125 CPLXMLNode *(*pfnSerialize)( void * pTransformerArg );
126 void* (*pfnCreateSimilar)( void* pTransformerArg, double dfSrcRatioX, double dfSrcRatioY );
127 } GDALTransformerInfo;
128
129 void CPL_DLL GDALDestroyTransformer( void *pTransformerArg );
130 int CPL_DLL GDALUseTransformer( void *pTransformerArg,
131 int bDstToSrc, int nPointCount,
132 double *x, double *y, double *z,
133 int *panSuccess );
134 void* GDALCreateSimilarTransformer( void* psTransformerArg, double dfSrcRatioX, double dfSrcRatioY );
135
136
137 /* High level transformer for going from image coordinates on one file
138 to image coordinates on another, potentially doing reprojection,
139 utilizing GCPs or using the geotransform. */
140
141 void CPL_DLL *
142 GDALCreateGenImgProjTransformer( GDALDatasetH hSrcDS, const char *pszSrcWKT,
143 GDALDatasetH hDstDS, const char *pszDstWKT,
144 int bGCPUseOK, double dfGCPErrorThreshold,
145 int nOrder );
146 void CPL_DLL *
147 GDALCreateGenImgProjTransformer2( GDALDatasetH hSrcDS, GDALDatasetH hDstDS,
148 char **papszOptions );
149 void CPL_DLL *
150 GDALCreateGenImgProjTransformer3( const char *pszSrcWKT,
151 const double *padfSrcGeoTransform,
152 const char *pszDstWKT,
153 const double *padfDstGeoTransform );
154 void CPL_DLL GDALSetGenImgProjTransformerDstGeoTransform( void *,
155 const double * );
156 void CPL_DLL GDALDestroyGenImgProjTransformer( void * );
157 int CPL_DLL GDALGenImgProjTransform(
158 void *pTransformArg, int bDstToSrc, int nPointCount,
159 double *x, double *y, double *z, int *panSuccess );
160
161 void GDALSetTransformerDstGeoTransform( void *, const double * );
162
163 /* Geo to geo reprojection transformer. */
164 void CPL_DLL *
165 GDALCreateReprojectionTransformer( const char *pszSrcWKT,
166 const char *pszDstWKT );
167 void CPL_DLL GDALDestroyReprojectionTransformer( void * );
168 int CPL_DLL GDALReprojectionTransform(
169 void *pTransformArg, int bDstToSrc, int nPointCount,
170 double *x, double *y, double *z, int *panSuccess );
171
172 /* GCP based transformer ... forward is to georef coordinates */
173 void CPL_DLL *
174 GDALCreateGCPTransformer( int nGCPCount, const GDAL_GCP *pasGCPList,
175 int nReqOrder, int bReversed );
176
177 /* GCP based transformer with refinement of the GCPs ... forward is to georef coordinates */
178 void CPL_DLL *
179 GDALCreateGCPRefineTransformer( int nGCPCount, const GDAL_GCP *pasGCPList,
180 int nReqOrder, int bReversed, double tolerance, int minimumGcps);
181
182 void CPL_DLL GDALDestroyGCPTransformer( void *pTransformArg );
183 int CPL_DLL GDALGCPTransform(
184 void *pTransformArg, int bDstToSrc, int nPointCount,
185 double *x, double *y, double *z, int *panSuccess );
186
187 /* Thin Plate Spine transformer ... forward is to georef coordinates */
188
189 void CPL_DLL *
190 GDALCreateTPSTransformer( int nGCPCount, const GDAL_GCP *pasGCPList,
191 int bReversed );
192 void CPL_DLL GDALDestroyTPSTransformer( void *pTransformArg );
193 int CPL_DLL GDALTPSTransform(
194 void *pTransformArg, int bDstToSrc, int nPointCount,
195 double *x, double *y, double *z, int *panSuccess );
196
197 char CPL_DLL ** RPCInfoToMD( GDALRPCInfo *psRPCInfo );
198
199 /* RPC based transformer ... src is pixel/line/elev, dst is long/lat/elev */
200
201 void CPL_DLL *
202 GDALCreateRPCTransformer( GDALRPCInfo *psRPC, int bReversed,
203 double dfPixErrThreshold,
204 char **papszOptions );
205 void CPL_DLL GDALDestroyRPCTransformer( void *pTransformArg );
206 int CPL_DLL GDALRPCTransform(
207 void *pTransformArg, int bDstToSrc, int nPointCount,
208 double *x, double *y, double *z, int *panSuccess );
209
210 /* Geolocation transformer */
211
212 void CPL_DLL *
213 GDALCreateGeoLocTransformer( GDALDatasetH hBaseDS,
214 char **papszGeolocationInfo,
215 int bReversed );
216 void CPL_DLL GDALDestroyGeoLocTransformer( void *pTransformArg );
217 int CPL_DLL GDALGeoLocTransform(
218 void *pTransformArg, int bDstToSrc, int nPointCount,
219 double *x, double *y, double *z, int *panSuccess );
220
221 /* Approximate transformer */
222 void CPL_DLL *
223 GDALCreateApproxTransformer( GDALTransformerFunc pfnRawTransformer,
224 void *pRawTransformerArg, double dfMaxError );
225 void CPL_DLL GDALApproxTransformerOwnsSubtransformer( void *pCBData,
226 int bOwnFlag );
227 void CPL_DLL GDALDestroyApproxTransformer( void *pApproxArg );
228 int CPL_DLL GDALApproxTransform(
229 void *pTransformArg, int bDstToSrc, int nPointCount,
230 double *x, double *y, double *z, int *panSuccess );
231
232
233 int CPL_DLL CPL_STDCALL
234 GDALSimpleImageWarp( GDALDatasetH hSrcDS,
235 GDALDatasetH hDstDS,
236 int nBandCount, int *panBandList,
237 GDALTransformerFunc pfnTransform,
238 void *pTransformArg,
239 GDALProgressFunc pfnProgress,
240 void *pProgressArg,
241 char **papszWarpOptions );
242
243 CPLErr CPL_DLL CPL_STDCALL
244 GDALSuggestedWarpOutput( GDALDatasetH hSrcDS,
245 GDALTransformerFunc pfnTransformer,
246 void *pTransformArg,
247 double *padfGeoTransformOut,
248 int *pnPixels, int *pnLines );
249 CPLErr CPL_DLL CPL_STDCALL
250 GDALSuggestedWarpOutput2( GDALDatasetH hSrcDS,
251 GDALTransformerFunc pfnTransformer,
252 void *pTransformArg,
253 double *padfGeoTransformOut,
254 int *pnPixels, int *pnLines,
255 double *padfExtents,
256 int nOptions );
257
258 CPLXMLNode CPL_DLL *
259 GDALSerializeTransformer( GDALTransformerFunc pfnFunc, void *pTransformArg );
260 CPLErr CPL_DLL GDALDeserializeTransformer( CPLXMLNode *psTree,
261 GDALTransformerFunc *ppfnFunc,
262 void **ppTransformArg );
263
264 CPLErr CPL_DLL
265 GDALTransformGeolocations( GDALRasterBandH hXBand,
266 GDALRasterBandH hYBand,
267 GDALRasterBandH hZBand,
268 GDALTransformerFunc pfnTransformer,
269 void *pTransformArg,
270 GDALProgressFunc pfnProgress,
271 void *pProgressArg,
272 char **papszOptions );
273
274 /* -------------------------------------------------------------------- */
275 /* Contour Line Generation */
276 /* -------------------------------------------------------------------- */
277
278 typedef CPLErr (*GDALContourWriter)( double dfLevel, int nPoints,
279 double *padfX, double *padfY, void * );
280
281 typedef void *GDALContourGeneratorH;
282
283 GDALContourGeneratorH CPL_DLL
284 GDAL_CG_Create( int nWidth, int nHeight,
285 int bNoDataSet, double dfNoDataValue,
286 double dfContourInterval, double dfContourBase,
287 GDALContourWriter pfnWriter, void *pCBData );
288 CPLErr CPL_DLL GDAL_CG_FeedLine( GDALContourGeneratorH hCG,
289 double *padfScanline );
290 void CPL_DLL GDAL_CG_Destroy( GDALContourGeneratorH hCG );
291
292 typedef struct
293 {
294 void *hLayer;
295
296 double adfGeoTransform[6];
297
298 int nElevField;
299 int nIDField;
300 int nNextID;
301 } OGRContourWriterInfo;
302
303 CPLErr CPL_DLL
304 OGRContourWriter( double, int, double *, double *, void *pInfo );
305
306 CPLErr CPL_DLL
307 GDALContourGenerate( GDALRasterBandH hBand,
308 double dfContourInterval, double dfContourBase,
309 int nFixedLevelCount, double *padfFixedLevels,
310 int bUseNoData, double dfNoDataValue,
311 void *hLayer, int iIDField, int iElevField,
312 GDALProgressFunc pfnProgress, void *pProgressArg );
313
314 /************************************************************************/
315 /* Rasterizer API - geometries burned into GDAL raster. */
316 /************************************************************************/
317
318 CPLErr CPL_DLL
319 GDALRasterizeGeometries( GDALDatasetH hDS,
320 int nBandCount, int *panBandList,
321 int nGeomCount, OGRGeometryH *pahGeometries,
322 GDALTransformerFunc pfnTransformer,
323 void *pTransformArg,
324 double *padfGeomBurnValue,
325 char **papszOptions,
326 GDALProgressFunc pfnProgress,
327 void * pProgressArg );
328 CPLErr CPL_DLL
329 GDALRasterizeLayers( GDALDatasetH hDS,
330 int nBandCount, int *panBandList,
331 int nLayerCount, OGRLayerH *pahLayers,
332 GDALTransformerFunc pfnTransformer,
333 void *pTransformArg,
334 double *padfLayerBurnValues,
335 char **papszOptions,
336 GDALProgressFunc pfnProgress,
337 void *pProgressArg );
338
339 CPLErr CPL_DLL
340 GDALRasterizeLayersBuf( void *pData, int nBufXSize, int nBufYSize,
341 GDALDataType eBufType, int nPixelSpace, int nLineSpace,
342 int nLayerCount, OGRLayerH *pahLayers,
343 const char *pszDstProjection,
344 double *padfDstGeoTransform,
345 GDALTransformerFunc pfnTransformer,
346 void *pTransformArg, double dfBurnValue,
347 char **papszOptions, GDALProgressFunc pfnProgress,
348 void *pProgressArg );
349
350
351 /************************************************************************/
352 /* Gridding interface. */
353 /************************************************************************/
354
356 typedef enum { GGA_InverseDistanceToAPower = 1, GGA_MovingAverage = 2, GGA_NearestNeighbor = 3, GGA_MetricMinimum = 4, GGA_MetricMaximum = 5, GGA_MetricRange = 6, GGA_MetricCount = 7, GGA_MetricAverageDistance = 8,
366 GGA_MetricAverageDistancePts = 9,
368 GGA_Linear = 10,
370 GGA_InverseDistanceToAPowerNearestNeighbor = 11
371 } GDALGridAlgorithm;
372
374 typedef struct
375 {
377 double dfPower;
379 double dfSmoothing;
381 double dfAnisotropyRatio;
383 double dfAnisotropyAngle;
385 double dfRadius1;
387 double dfRadius2;
392 double dfAngle;
399 GUInt32 nMaxPoints;
405 GUInt32 nMinPoints;
407 double dfNoDataValue;
408 } GDALGridInverseDistanceToAPowerOptions;
409
410 typedef struct
411 {
413 double dfPower;
415 double dfRadius;
416
423 GUInt32 nMaxPoints;
429 GUInt32 nMinPoints;
431 double dfNoDataValue;
432 } GDALGridInverseDistanceToAPowerNearestNeighborOptions;
433
435 typedef struct
436 {
438 double dfRadius1;
440 double dfRadius2;
445 double dfAngle;
451 GUInt32 nMinPoints;
453 double dfNoDataValue;
454 } GDALGridMovingAverageOptions;
455
457 typedef struct
458 {
460 double dfRadius1;
462 double dfRadius2;
467 double dfAngle;
469 double dfNoDataValue;
470 } GDALGridNearestNeighborOptions;
471
473 typedef struct
474 {
476 double dfRadius1;
478 double dfRadius2;
483 double dfAngle;
489 GUInt32 nMinPoints;
491 double dfNoDataValue;
492 } GDALGridDataMetricsOptions;
493
495 typedef struct
496 {
502 double dfRadius;
504 double dfNoDataValue;
505 } GDALGridLinearOptions;
506
507
508 CPLErr CPL_DLL
509 GDALGridCreate( GDALGridAlgorithm, const void *, GUInt32,
510 const double *, const double *, const double *,
511 double, double, double, double,
512 GUInt32, GUInt32, GDALDataType, void *,
513 GDALProgressFunc, void *);
514
515 typedef struct GDALGridContext GDALGridContext;
516
517 GDALGridContext CPL_DLL*
518 GDALGridContextCreate( GDALGridAlgorithm eAlgorithm, const void *poOptions,
519 GUInt32 nPoints,
520 const double *padfX, const double *padfY, const double *padfZ,
521 int bCallerWillKeepPointArraysAlive );
522
523 void CPL_DLL GDALGridContextFree(GDALGridContext* psContext);
524
525 CPLErr CPL_DLL GDALGridContextProcess(GDALGridContext* psContext,
526 double dfXMin, double dfXMax, double dfYMin, double dfYMax,
527 GUInt32 nXSize, GUInt32 nYSize, GDALDataType eType, void *pData,
528 GDALProgressFunc pfnProgress, void *pProgressArg );
529
530 GDAL_GCP CPL_DLL *
531 GDALComputeMatchingPoints( GDALDatasetH hFirstImage,
532 GDALDatasetH hSecondImage,
533 char **papszOptions,
534 int *pnGCPCount );
535
536 /************************************************************************/
537 /* Delaunay triangulation interface. */
538 /************************************************************************/
539
540 typedef struct
541 {
542 int anVertexIdx[3]; /* index to the padfX/padfY arrays */
543 int anNeighborIdx[3]; /* index to GDALDelaunayTriangulation.pasFacets, or -1 */
544 /* anNeighborIdx[k] is the triangle to the opposite side */
545 /* of the opposite segment of anVertexIdx[k] */
546 } GDALTriFacet;
547
548 /* Conversion from cartesian (x,y) to barycentric (l1,l2,l3) with :
549 l1 = dfMul1X * (x - dfCxtX) + dfMul1Y * (y - dfCstY)
550 l2 = dfMul2X * (x - dfCxtX) + dfMul2Y * (y - dfCstY)
551 l3 = 1 - l1 - l2
552 */
553 typedef struct
554 {
555 double dfMul1X;
556 double dfMul1Y;
557 double dfMul2X;
558 double dfMul2Y;
559 double dfCstX;
560 double dfCstY;
561 } GDALTriBarycentricCoefficients;
562
563 typedef struct
564 {
565 int nFacets;
566 GDALTriFacet *pasFacets; /* nFacets elements */
567 GDALTriBarycentricCoefficients *pasFacetCoefficients; /* nFacets elements */
568 } GDALTriangulation;
569
570 int CPL_DLL GDALHasTriangulation(void);
571
572 GDALTriangulation CPL_DLL *GDALTriangulationCreateDelaunay(int nPoints,
573 const double* padfX,
574 const double* padfY);
575 int CPL_DLL GDALTriangulationComputeBarycentricCoefficients(
576 GDALTriangulation* psDT,
577 const double* padfX,
578 const double* padfY);
579 int CPL_DLL GDALTriangulationComputeBarycentricCoordinates(
580 const GDALTriangulation* psDT,
581 int nFacetIdx,
582 double dfX,
583 double dfY,
584 double* pdfL1,
585 double* pdfL2,
586 double* pdfL3);
587 int CPL_DLL GDALTriangulationFindFacetBruteForce( const GDALTriangulation* psDT,
588 double dfX,
589 double dfY,
590 int* panOutputFacetIdx );
591 int CPL_DLL GDALTriangulationFindFacetDirected( const GDALTriangulation* psDT,
592 int nFacetIdx,
593 double dfX,
594 double dfY,
595 int* panOutputFacetIdx );
596 void CPL_DLL GDALTriangulationFree(GDALTriangulation* psDT);
597
598 // GDAL internal use only
599 void GDALTriangulationTerminate(void);
600
601 CPL_C_END
602
603 #endif /* ndef GDAL_ALG_H_INCLUDED */
GDALGridDataMetricsOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:483
GDALGridInverseDistanceToAPowerNearestNeighborOptions::dfRadius
double dfRadius
Definition: gdal_alg.h:415
GGA_MetricCount
Definition: gdal_alg.h:363
GDALSuggestedWarpOutput
CPLErr GDALSuggestedWarpOutput(GDALDatasetH hSrcDS, GDALTransformerFunc pfnTransformer, void *pTransformArg, double *padfGeoTransformOut, int *pnPixels, int *pnLines)
Suggest output file size.
Definition: gdaltransformer.cpp:152
GDALGenImgProjTransform
int GDALGenImgProjTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform general image reprojection transformation.
Definition: gdaltransformer.cpp:1732
GDALDestroyReprojectionTransformer
void GDALDestroyReprojectionTransformer(void *)
Destroy reprojection transformation.
Definition: gdaltransformer.cpp:2349
GDALDataType
GDALDataType
Definition: gdal.h:57
CPLXMLNode
Document node structure.
Definition: cpl_minixml.h:65
GDALGridInverseDistanceToAPowerNearestNeighborOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:431
cpl_minixml.h
Definitions for CPL mini XML Parser/Serializer.
GDALRasterizeGeometries
CPLErr GDALRasterizeGeometries(GDALDatasetH hDS, int nBandCount, int *panBandList, int nGeomCount, OGRGeometryH *pahGeometries, GDALTransformerFunc pfnTransformer, void *pTransformArg, double *padfGeomBurnValue, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Burn geometries into raster.
Definition: gdalrasterize.cpp:558
GDALGridDataMetricsOptions
Data metrics method control options.
Definition: gdal_alg.h:473
GDALSuggestedWarpOutput2
CPLErr GDALSuggestedWarpOutput2(GDALDatasetH hSrcDS, GDALTransformerFunc pfnTransformer, void *pTransformArg, double *padfGeoTransformOut, int *pnPixels, int *pnLines, double *padfExtents, int nOptions)
Suggest output file size.
Definition: gdaltransformer.cpp:340
GDALGridContextCreate
GDALGridContext * GDALGridContextCreate(GDALGridAlgorithm eAlgorithm, const void *poOptions, GUInt32 nPoints, const double *padfX, const double *padfY, const double *padfZ, int bCallerWillKeepPointArraysAlive)
Creates a context to do regular gridding from the scattered data.
Definition: gdalgrid.cpp:1769
GDALGridCreate
CPLErr GDALGridCreate(GDALGridAlgorithm, const void *, GUInt32, const double *, const double *, const double *, double, double, double, double, GUInt32, GUInt32, GDALDataType, void *, GDALProgressFunc, void *)
Create regular grid from the scattered data.
Definition: gdalgrid.cpp:2420
GDALGridMovingAverageOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:451
GDALDestroyApproxTransformer
void GDALDestroyApproxTransformer(void *pApproxArg)
Cleanup approximate transformer.
Definition: gdaltransformer.cpp:2657
GGA_InverseDistanceToAPower
Definition: gdal_alg.h:357
GDALGridNearestNeighborOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:469
GDALRasterizeLayersBuf
CPLErr GDALRasterizeLayersBuf(void *pData, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, int nLineSpace, int nLayerCount, OGRLayerH *pahLayers, const char *pszDstProjection, double *padfDstGeoTransform, GDALTransformerFunc pfnTransformer, void *pTransformArg, double dfBurnValue, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Burn geometries from the specified list of layer into raster.
Definition: gdalrasterize.cpp:1155
GDALTransformGeolocations
CPLErr GDALTransformGeolocations(GDALRasterBandH hXBand, GDALRasterBandH hYBand, GDALRasterBandH hZBand, GDALTransformerFunc pfnTransformer, void *pTransformArg, GDALProgressFunc pfnProgress, void *pProgressArg, char **papszOptions)
Transform locations held in bands.
Definition: gdaltransformgeolocs.cpp:61
GDALGridInverseDistanceToAPowerNearestNeighborOptions
Definition: gdal_alg.h:410
GDALGridNearestNeighborOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:460
GDALDitherRGB2PCT
int GDALDitherRGB2PCT(GDALRasterBandH hRed, GDALRasterBandH hGreen, GDALRasterBandH hBlue, GDALRasterBandH hTarget, GDALColorTableH hColorTable, GDALProgressFunc pfnProgress, void *pProgressArg)
24bit to 8bit conversion with dithering.
Definition: gdaldither.cpp:126
GDALGridAlgorithm
GDALGridAlgorithm
Gridding Algorithms.
Definition: gdal_alg.h:356
GDALFPolygonize
CPLErr GDALFPolygonize(GDALRasterBandH hSrcBand, GDALRasterBandH hMaskBand, OGRLayerH hOutLayer, int iPixValField, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Create polygon coverage from raster data.
Definition: polygonize.cpp:895
GDALGridDataMetricsOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:489
GGA_MetricRange
Definition: gdal_alg.h:362
GDALDatasetH
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:230
GDALGridInverseDistanceToAPowerOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:392
GDALRPCInfo
Definition: gdal.h:893
GDALGridInverseDistanceToAPowerOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:407
GDALComputeProximity
CPLErr GDALComputeProximity(GDALRasterBandH hSrcBand, GDALRasterBandH hProximityBand, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Compute the proximity of all pixels in the image to a set of pixels in the source image...
Definition: gdalproximity.cpp:103
GDALRasterBandH
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:233
GDALGridInverseDistanceToAPowerOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:405
GDALRasterizeLayers
CPLErr GDALRasterizeLayers(GDALDatasetH hDS, int nBandCount, int *panBandList, int nLayerCount, OGRLayerH *pahLayers, GDALTransformerFunc pfnTransformer, void *pTransformArg, double *padfLayerBurnValues, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Burn geometries from the specified list of layers into raster.
Definition: gdalrasterize.cpp:780
GDALGridMovingAverageOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:440
GDALGridMovingAverageOptions
Moving average method control options.
Definition: gdal_alg.h:435
GDALGridInverseDistanceToAPowerOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:385
GDALGridInverseDistanceToAPowerOptions::dfAnisotropyRatio
double dfAnisotropyRatio
Definition: gdal_alg.h:381
GDALGridDataMetricsOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:476
GDALTriBarycentricCoefficients
Definition: gdal_alg.h:553
GDALDestroyGenImgProjTransformer
void GDALDestroyGenImgProjTransformer(void *)
GenImgProjTransformer deallocator.
Definition: gdaltransformer.cpp:1679
GDALHasTriangulation
int GDALHasTriangulation(void)
Returns if GDAL is built with Delaunay triangulation support.
Definition: delaunay.c:88
GDALCreateGCPTransformer
void * GDALCreateGCPTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int nReqOrder, int bReversed)
Create GCP based polynomial transformer.
Definition: gdal_crs.c:296
GDALSetGenImgProjTransformerDstGeoTransform
void GDALSetGenImgProjTransformerDstGeoTransform(void *, const double *)
Set GenImgProj output geotransform.
Definition: gdaltransformer.cpp:1649
OGRContourWriterInfo
Definition: gdal_alg.h:292
GDALGridNearestNeighborOptions
Nearest neighbor method control options.
Definition: gdal_alg.h:457
GDALDestroyGCPTransformer
void GDALDestroyGCPTransformer(void *pTransformArg)
Destroy GCP transformer.
Definition: gdal_crs.c:330
GGA_MetricAverageDistancePts
Definition: gdal_alg.h:366
gdal.h
Public (C callable) GDAL entry points.
GDALGridLinearOptions::dfRadius
double dfRadius
Definition: gdal_alg.h:502
GDALGridNearestNeighborOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:462
GDALGridLinearOptions
Linear method control options.
Definition: gdal_alg.h:495
GDALSieveFilter
CPLErr GDALSieveFilter(GDALRasterBandH hSrcBand, GDALRasterBandH hMaskBand, GDALRasterBandH hDstBand, int nSizeThreshold, int nConnectedness, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Removes small raster polygons.
Definition: gdalsievefilter.cpp:190
GGA_MetricMinimum
Definition: gdal_alg.h:360
GDALTriangulationComputeBarycentricCoefficients
int GDALTriangulationComputeBarycentricCoefficients(GDALTriangulation *psDT, const double *padfX, const double *padfY)
Computes barycentric coefficients for each triangles of the triangulation.
Definition: delaunay.c:286
GGA_MetricAverageDistance
Definition: gdal_alg.h:364
GDALGridInverseDistanceToAPowerNearestNeighborOptions::dfPower
double dfPower
Definition: gdal_alg.h:413
GDALTransformerInfo
Definition: gdal_alg.h:120
GDALGridLinearOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:504
GDALCreateRPCTransformer
void * GDALCreateRPCTransformer(GDALRPCInfo *psRPC, int bReversed, double dfPixErrThreshold, char **papszOptions)
Create an RPC based transformer.
Definition: gdal_rpc.cpp:639
GDALTriangulationCreateDelaunay
GDALTriangulation * GDALTriangulationCreateDelaunay(int nPoints, const double *padfX, const double *padfY)
Computes a Delaunay triangulation of the passed points.
Definition: delaunay.c:111
GDALGridInverseDistanceToAPowerOptions::dfAnisotropyAngle
double dfAnisotropyAngle
Definition: gdal_alg.h:383
GDALReprojectionTransform
int GDALReprojectionTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform reprojection transformation.
Definition: gdaltransformer.cpp:2380
GDALGridMovingAverageOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:438
GGA_MovingAverage
Definition: gdal_alg.h:358
GDALGridNearestNeighborOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:467
GGA_InverseDistanceToAPowerNearestNeighbor
Definition: gdal_alg.h:370
GDALGCPTransform
int GDALGCPTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Transforms point based on GCP derived polynomial model.
Definition: gdal_crs.c:374
GDALCreateApproxTransformer
void * GDALCreateApproxTransformer(GDALTransformerFunc pfnRawTransformer, void *pRawTransformerArg, double dfMaxError)
Create an approximating transformer.
Definition: gdaltransformer.cpp:2610
GDALContourGenerate
CPLErr GDALContourGenerate(GDALRasterBandH hBand, double dfContourInterval, double dfContourBase, int nFixedLevelCount, double *padfFixedLevels, int bUseNoData, double dfNoDataValue, void *hLayer, int iIDField, int iElevField, GDALProgressFunc pfnProgress, void *pProgressArg)
Create vector contours from raster DEM.
Definition: contour.cpp:1543
GDALGridContextFree
void GDALGridContextFree(GDALGridContext *psContext)
Free a context used created by GDALGridContextCreate()
Definition: gdalgrid.cpp:2139
GDALSimpleImageWarp
int GDALSimpleImageWarp(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, int nBandCount, int *panBandList, GDALTransformerFunc pfnTransform, void *pTransformArg, GDALProgressFunc pfnProgress, void *pProgressArg, char **papszWarpOptions)
Perform simple image warp.
Definition: gdalsimplewarp.cpp:79
GDALTransformerFunc
int(* GDALTransformerFunc)(void *pTransformerArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Definition: gdal_alg.h:114
GDALGridMovingAverageOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:453
GDALGridInverseDistanceToAPowerOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:387
GGA_MetricMaximum
Definition: gdal_alg.h:361
GDALCreateGenImgProjTransformer2
void * GDALCreateGenImgProjTransformer2(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions)
Create image to image transformer.
Definition: gdaltransformer.cpp:1171
GDALTriangulationFindFacetBruteForce
int GDALTriangulationFindFacetBruteForce(const GDALTriangulation *psDT, double dfX, double dfY, int *panOutputFacetIdx)
Returns the index of the triangle that contains the point by iterating over all triangles.
Definition: delaunay.c:397
GDALGridDataMetricsOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:478
GDALTPSTransform
int GDALTPSTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Transforms point based on GCP derived polynomial model.
Definition: gdal_tps.cpp:341
ogr_api.h
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
GDALApproxTransform
int GDALApproxTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform approximate transformation.
Definition: gdaltransformer.cpp:2943
GDALCreateGenImgProjTransformer
void * GDALCreateGenImgProjTransformer(GDALDatasetH hSrcDS, const char *pszSrcWKT, GDALDatasetH hDstDS, const char *pszDstWKT, int bGCPUseOK, double dfGCPErrorThreshold, int nOrder)
Create image to image transformer.
Definition: gdaltransformer.cpp:975
GDALGridInverseDistanceToAPowerOptions
Inverse distance to a power method control options.
Definition: gdal_alg.h:374
GDALDestroyTPSTransformer
void GDALDestroyTPSTransformer(void *pTransformArg)
Destroy TPS transformer.
Definition: gdal_tps.cpp:296
GDALGridContextProcess
CPLErr GDALGridContextProcess(GDALGridContext *psContext, double dfXMin, double dfXMax, double dfYMin, double dfYMax, GUInt32 nXSize, GUInt32 nYSize, GDALDataType eType, void *pData, GDALProgressFunc pfnProgress, void *pProgressArg)
Do the gridding of a window of a raster.
Definition: gdalgrid.cpp:2193
GDALColorTableH
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:239
GDALCreateReprojectionTransformer
void * GDALCreateReprojectionTransformer(const char *pszSrcWKT, const char *pszDstWKT)
Create reprojection transformer.
Definition: gdaltransformer.cpp:2281
GDALPolygonize
CPLErr GDALPolygonize(GDALRasterBandH hSrcBand, GDALRasterBandH hMaskBand, OGRLayerH hOutLayer, int iPixValField, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Create polygon coverage from raster data.
Definition: polygonize.cpp:816
GDALGridInverseDistanceToAPowerOptions::dfPower
double dfPower
Definition: gdal_alg.h:377
GDALTriFacet
Definition: gdal_alg.h:540
GDALGridInverseDistanceToAPowerOptions::nMaxPoints
GUInt32 nMaxPoints
Definition: gdal_alg.h:399
GGA_NearestNeighbor
Definition: gdal_alg.h:359
GDALCreateGenImgProjTransformer3
void * GDALCreateGenImgProjTransformer3(const char *pszSrcWKT, const double *padfSrcGeoTransform, const char *pszDstWKT, const double *padfDstGeoTransform)
Create image to image transformer.
Definition: gdaltransformer.cpp:1542
GDALFillNodata
CPLErr GDALFillNodata(GDALRasterBandH hTargetBand, GDALRasterBandH hMaskBand, double dfMaxSearchDist, int bDeprecatedOption, int nSmoothingIterations, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Fill selected raster regions by interpolation from the edges.
Definition: rasterfill.cpp:388
GDALComputeMedianCutPCT
int GDALComputeMedianCutPCT(GDALRasterBandH hRed, GDALRasterBandH hGreen, GDALRasterBandH hBlue, int(*pfnIncludePixel)(int, int, void *), int nColors, GDALColorTableH hColorTable, GDALProgressFunc pfnProgress, void *pProgressArg)
Compute optimal PCT for RGB image.
Definition: gdalmediancut.cpp:128
GDALGridDataMetricsOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:491
GGA_Linear
Definition: gdal_alg.h:368
GDALGridMovingAverageOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:445
GDALTriangulationFree
void GDALTriangulationFree(GDALTriangulation *psDT)
Free a triangulation.
Definition: delaunay.c:260
GDALTriangulationFindFacetDirected
int GDALTriangulationFindFacetDirected(const GDALTriangulation *psDT, int nFacetIdx, double dfX, double dfY, int *panOutputFacetIdx)
Returns the index of the triangle that contains the point by walking in the triangulation.
Definition: delaunay.c:484
GDALGridInverseDistanceToAPowerNearestNeighborOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:429
GDAL_GCP
Ground Control Point.
Definition: gdal.h:492
GDALGridInverseDistanceToAPowerOptions::dfSmoothing
double dfSmoothing
Definition: gdal_alg.h:379
GDALGridInverseDistanceToAPowerNearestNeighborOptions::nMaxPoints
GUInt32 nMaxPoints
Definition: gdal_alg.h:423
GDALCreateTPSTransformer
void * GDALCreateTPSTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int bReversed)
Create Thin Plate Spline transformer from GCPs.
Definition: gdal_tps.cpp:134
GDALChecksumImage
int GDALChecksumImage(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize)
Compute checksum for image region.
Definition: gdalchecksum.cpp:58
GDALTriangulation
Definition: gdal_alg.h:563

Generated for GDAL by 1.8.8.