GDAL

- Main Page
- Related Pages
- Classes
- Files
- Download
- Issue Tracker

- File List
- File Members

gdal_alg.h
Go to the documentation of this file.
1 /******************************************************************************
2 * $Id: gdal_alg.h 37723 2017-03-16 17:07:53Z rouault $
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
119 #define GDAL_GTI2_SIGNATURE "GTI2"
120
121 typedef struct {
122 GByte abySignature[4];
123 const char *pszClassName;
124 GDALTransformerFunc pfnTransform;
125 void (*pfnCleanup)( void * pTransformerArg );
126 CPLXMLNode *(*pfnSerialize)( void * pTransformerArg );
127 void* (*pfnCreateSimilar)( void* pTransformerArg, double dfSrcRatioX, double dfSrcRatioY );
128 } GDALTransformerInfo;
132 void CPL_DLL GDALDestroyTransformer( void *pTransformerArg );
133 int CPL_DLL GDALUseTransformer( void *pTransformerArg,
134 int bDstToSrc, int nPointCount,
135 double *x, double *y, double *z,
136 int *panSuccess );
137 void* GDALCreateSimilarTransformer( void* psTransformerArg, double dfSrcRatioX, double dfSrcRatioY );
140 /* High level transformer for going from image coordinates on one file
141 to image coordinates on another, potentially doing reprojection,
142 utilizing GCPs or using the geotransform. */
143
144 void CPL_DLL *
145 GDALCreateGenImgProjTransformer( GDALDatasetH hSrcDS, const char *pszSrcWKT,
146 GDALDatasetH hDstDS, const char *pszDstWKT,
147 int bGCPUseOK, double dfGCPErrorThreshold,
148 int nOrder );
149 void CPL_DLL *
150 GDALCreateGenImgProjTransformer2( GDALDatasetH hSrcDS, GDALDatasetH hDstDS,
151 char **papszOptions );
152 void CPL_DLL *
153 GDALCreateGenImgProjTransformer3( const char *pszSrcWKT,
154 const double *padfSrcGeoTransform,
155 const char *pszDstWKT,
156 const double *padfDstGeoTransform );
157 void CPL_DLL GDALSetGenImgProjTransformerDstGeoTransform( void *,
158 const double * );
159 void CPL_DLL GDALDestroyGenImgProjTransformer( void * );
160 int CPL_DLL GDALGenImgProjTransform(
161 void *pTransformArg, int bDstToSrc, int nPointCount,
162 double *x, double *y, double *z, int *panSuccess );
163
164 void GDALSetTransformerDstGeoTransform( void *, const double * );
165
166 /* Geo to geo reprojection transformer. */
167 void CPL_DLL *
168 GDALCreateReprojectionTransformer( const char *pszSrcWKT,
169 const char *pszDstWKT );
170 void CPL_DLL GDALDestroyReprojectionTransformer( void * );
171 int CPL_DLL GDALReprojectionTransform(
172 void *pTransformArg, int bDstToSrc, int nPointCount,
173 double *x, double *y, double *z, int *panSuccess );
174
175 /* GCP based transformer ... forward is to georef coordinates */
176 void CPL_DLL *
177 GDALCreateGCPTransformer( int nGCPCount, const GDAL_GCP *pasGCPList,
178 int nReqOrder, int bReversed );
179
180 /* GCP based transformer with refinement of the GCPs ... forward is to georef coordinates */
181 void CPL_DLL *
182 GDALCreateGCPRefineTransformer( int nGCPCount, const GDAL_GCP *pasGCPList,
183 int nReqOrder, int bReversed, double tolerance, int minimumGcps);
184
185 void CPL_DLL GDALDestroyGCPTransformer( void *pTransformArg );
186 int CPL_DLL GDALGCPTransform(
187 void *pTransformArg, int bDstToSrc, int nPointCount,
188 double *x, double *y, double *z, int *panSuccess );
189
190 /* Thin Plate Spine transformer ... forward is to georef coordinates */
191
192 void CPL_DLL *
193 GDALCreateTPSTransformer( int nGCPCount, const GDAL_GCP *pasGCPList,
194 int bReversed );
195 void CPL_DLL GDALDestroyTPSTransformer( void *pTransformArg );
196 int CPL_DLL GDALTPSTransform(
197 void *pTransformArg, int bDstToSrc, int nPointCount,
198 double *x, double *y, double *z, int *panSuccess );
199
201 char CPL_DLL ** RPCInfoToMD( GDALRPCInfo *psRPCInfo );
204 /* RPC based transformer ... src is pixel/line/elev, dst is long/lat/elev */
205
206 void CPL_DLL *
207 GDALCreateRPCTransformer( GDALRPCInfo *psRPC, int bReversed,
208 double dfPixErrThreshold,
209 char **papszOptions );
210 void CPL_DLL GDALDestroyRPCTransformer( void *pTransformArg );
211 int CPL_DLL GDALRPCTransform(
212 void *pTransformArg, int bDstToSrc, int nPointCount,
213 double *x, double *y, double *z, int *panSuccess );
214
215 /* Geolocation transformer */
216
217 void CPL_DLL *
218 GDALCreateGeoLocTransformer( GDALDatasetH hBaseDS,
219 char **papszGeolocationInfo,
220 int bReversed );
221 void CPL_DLL GDALDestroyGeoLocTransformer( void *pTransformArg );
222 int CPL_DLL GDALGeoLocTransform(
223 void *pTransformArg, int bDstToSrc, int nPointCount,
224 double *x, double *y, double *z, int *panSuccess );
225
226 /* Approximate transformer */
227 void CPL_DLL *
228 GDALCreateApproxTransformer( GDALTransformerFunc pfnRawTransformer,
229 void *pRawTransformerArg, double dfMaxError );
230 void CPL_DLL GDALApproxTransformerOwnsSubtransformer( void *pCBData,
231 int bOwnFlag );
232 void CPL_DLL GDALDestroyApproxTransformer( void *pApproxArg );
233 int CPL_DLL GDALApproxTransform(
234 void *pTransformArg, int bDstToSrc, int nPointCount,
235 double *x, double *y, double *z, int *panSuccess );
236
237 int CPL_DLL CPL_STDCALL
238 GDALSimpleImageWarp( GDALDatasetH hSrcDS,
239 GDALDatasetH hDstDS,
240 int nBandCount, int *panBandList,
241 GDALTransformerFunc pfnTransform,
242 void *pTransformArg,
243 GDALProgressFunc pfnProgress,
244 void *pProgressArg,
245 char **papszWarpOptions );
246
247 CPLErr CPL_DLL CPL_STDCALL
248 GDALSuggestedWarpOutput( GDALDatasetH hSrcDS,
249 GDALTransformerFunc pfnTransformer,
250 void *pTransformArg,
251 double *padfGeoTransformOut,
252 int *pnPixels, int *pnLines );
253 CPLErr CPL_DLL CPL_STDCALL
254 GDALSuggestedWarpOutput2( GDALDatasetH hSrcDS,
255 GDALTransformerFunc pfnTransformer,
256 void *pTransformArg,
257 double *padfGeoTransformOut,
258 int *pnPixels, int *pnLines,
259 double *padfExtents,
260 int nOptions );
261
263 CPLXMLNode CPL_DLL *
264 GDALSerializeTransformer( GDALTransformerFunc pfnFunc, void *pTransformArg );
265 CPLErr CPL_DLL GDALDeserializeTransformer( CPLXMLNode *psTree,
266 GDALTransformerFunc *ppfnFunc,
267 void **ppTransformArg );
270 CPLErr CPL_DLL
271 GDALTransformGeolocations( GDALRasterBandH hXBand,
272 GDALRasterBandH hYBand,
273 GDALRasterBandH hZBand,
274 GDALTransformerFunc pfnTransformer,
275 void *pTransformArg,
276 GDALProgressFunc pfnProgress,
277 void *pProgressArg,
278 char **papszOptions );
279
280 /* -------------------------------------------------------------------- */
281 /* Contour Line Generation */
282 /* -------------------------------------------------------------------- */
283
285 typedef CPLErr (*GDALContourWriter)( double dfLevel, int nPoints,
286 double *padfX, double *padfY, void * );
287
289 typedef void *GDALContourGeneratorH;
290
291 GDALContourGeneratorH CPL_DLL
292 GDAL_CG_Create( int nWidth, int nHeight,
293 int bNoDataSet, double dfNoDataValue,
294 double dfContourInterval, double dfContourBase,
295 GDALContourWriter pfnWriter, void *pCBData );
296 CPLErr CPL_DLL GDAL_CG_FeedLine( GDALContourGeneratorH hCG,
297 double *padfScanline );
298 void CPL_DLL GDAL_CG_Destroy( GDALContourGeneratorH hCG );
299
301 typedef struct
302 {
303 void *hLayer;
304
305 double adfGeoTransform[6];
306
307 int nElevField;
308 int nIDField;
309 int nNextID;
310 } OGRContourWriterInfo;
311
312 CPLErr CPL_DLL
313 OGRContourWriter( double, int, double *, double *, void *pInfo );
316 CPLErr CPL_DLL
317 GDALContourGenerate( GDALRasterBandH hBand,
318 double dfContourInterval, double dfContourBase,
319 int nFixedLevelCount, double *padfFixedLevels,
320 int bUseNoData, double dfNoDataValue,
321 void *hLayer, int iIDField, int iElevField,
322 GDALProgressFunc pfnProgress, void *pProgressArg );
323
324 /************************************************************************/
325 /* Rasterizer API - geometries burned into GDAL raster. */
326 /************************************************************************/
327
328 CPLErr CPL_DLL
329 GDALRasterizeGeometries( GDALDatasetH hDS,
330 int nBandCount, int *panBandList,
331 int nGeomCount, OGRGeometryH *pahGeometries,
332 GDALTransformerFunc pfnTransformer,
333 void *pTransformArg,
334 double *padfGeomBurnValue,
335 char **papszOptions,
336 GDALProgressFunc pfnProgress,
337 void * pProgressArg );
338 CPLErr CPL_DLL
339 GDALRasterizeLayers( GDALDatasetH hDS,
340 int nBandCount, int *panBandList,
341 int nLayerCount, OGRLayerH *pahLayers,
342 GDALTransformerFunc pfnTransformer,
343 void *pTransformArg,
344 double *padfLayerBurnValues,
345 char **papszOptions,
346 GDALProgressFunc pfnProgress,
347 void *pProgressArg );
348
349 CPLErr CPL_DLL
350 GDALRasterizeLayersBuf( void *pData, int nBufXSize, int nBufYSize,
351 GDALDataType eBufType, int nPixelSpace, int nLineSpace,
352 int nLayerCount, OGRLayerH *pahLayers,
353 const char *pszDstProjection,
354 double *padfDstGeoTransform,
355 GDALTransformerFunc pfnTransformer,
356 void *pTransformArg, double dfBurnValue,
357 char **papszOptions, GDALProgressFunc pfnProgress,
358 void *pProgressArg );
359
360 /************************************************************************/
361 /* Gridding interface. */
362 /************************************************************************/
363
365 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,
375 GGA_MetricAverageDistancePts = 9,
377 GGA_Linear = 10,
379 GGA_InverseDistanceToAPowerNearestNeighbor = 11
380 } GDALGridAlgorithm;
381
383 typedef struct
384 {
386 double dfPower;
388 double dfSmoothing;
390 double dfAnisotropyRatio;
392 double dfAnisotropyAngle;
394 double dfRadius1;
396 double dfRadius2;
401 double dfAngle;
408 GUInt32 nMaxPoints;
414 GUInt32 nMinPoints;
416 double dfNoDataValue;
417 } GDALGridInverseDistanceToAPowerOptions;
418
420 typedef struct
421 {
423 double dfPower;
425 double dfRadius;
427 double dfSmoothing;
428
435 GUInt32 nMaxPoints;
441 GUInt32 nMinPoints;
443 double dfNoDataValue;
444 } GDALGridInverseDistanceToAPowerNearestNeighborOptions;
445
447 typedef struct
448 {
450 double dfRadius1;
452 double dfRadius2;
457 double dfAngle;
463 GUInt32 nMinPoints;
465 double dfNoDataValue;
466 } GDALGridMovingAverageOptions;
467
469 typedef struct
470 {
472 double dfRadius1;
474 double dfRadius2;
479 double dfAngle;
481 double dfNoDataValue;
482 } GDALGridNearestNeighborOptions;
483
485 typedef struct
486 {
488 double dfRadius1;
490 double dfRadius2;
495 double dfAngle;
501 GUInt32 nMinPoints;
503 double dfNoDataValue;
504 } GDALGridDataMetricsOptions;
505
507 typedef struct
508 {
514 double dfRadius;
516 double dfNoDataValue;
517 } GDALGridLinearOptions;
518
519 CPLErr CPL_DLL
520 GDALGridCreate( GDALGridAlgorithm, const void *, GUInt32,
521 const double *, const double *, const double *,
522 double, double, double, double,
523 GUInt32, GUInt32, GDALDataType, void *,
524 GDALProgressFunc, void *);
525
527 typedef struct GDALGridContext GDALGridContext;
528
529 GDALGridContext CPL_DLL*
530 GDALGridContextCreate( GDALGridAlgorithm eAlgorithm, const void *poOptions,
531 GUInt32 nPoints,
532 const double *padfX, const double *padfY, const double *padfZ,
533 int bCallerWillKeepPointArraysAlive );
534
535 void CPL_DLL GDALGridContextFree(GDALGridContext* psContext);
536
537 CPLErr CPL_DLL GDALGridContextProcess(GDALGridContext* psContext,
538 double dfXMin, double dfXMax, double dfYMin, double dfYMax,
539 GUInt32 nXSize, GUInt32 nYSize, GDALDataType eType, void *pData,
540 GDALProgressFunc pfnProgress, void *pProgressArg );
541
542 GDAL_GCP CPL_DLL *
543 GDALComputeMatchingPoints( GDALDatasetH hFirstImage,
544 GDALDatasetH hSecondImage,
545 char **papszOptions,
546 int *pnGCPCount );
547
548 /************************************************************************/
549 /* Delaunay triangulation interface. */
550 /************************************************************************/
551
553 typedef struct
554 {
555 int anVertexIdx[3];
556 int anNeighborIdx[3];
557 /* anNeighborIdx[k] is the triangle to the opposite side */
558 /* of the opposite segment of anVertexIdx[k] */
559 } GDALTriFacet;
560
568 typedef struct
569 {
570 double dfMul1X;
571 double dfMul1Y;
572 double dfMul2X;
573 double dfMul2Y;
574 double dfCstX;
575 double dfCstY;
576 } GDALTriBarycentricCoefficients;
577
579 typedef struct
580 {
581 int nFacets;
582 GDALTriFacet *pasFacets;
583 GDALTriBarycentricCoefficients *pasFacetCoefficients;
584 } GDALTriangulation;
585
586 int CPL_DLL GDALHasTriangulation(void);
587
588 GDALTriangulation CPL_DLL *GDALTriangulationCreateDelaunay(int nPoints,
589 const double* padfX,
590 const double* padfY);
591 int CPL_DLL GDALTriangulationComputeBarycentricCoefficients(
592 GDALTriangulation* psDT,
593 const double* padfX,
594 const double* padfY);
595 int CPL_DLL GDALTriangulationComputeBarycentricCoordinates(
596 const GDALTriangulation* psDT,
597 int nFacetIdx,
598 double dfX,
599 double dfY,
600 double* pdfL1,
601 double* pdfL2,
602 double* pdfL3);
603 int CPL_DLL GDALTriangulationFindFacetBruteForce( const GDALTriangulation* psDT,
604 double dfX,
605 double dfY,
606 int* panOutputFacetIdx );
607 int CPL_DLL GDALTriangulationFindFacetDirected( const GDALTriangulation* psDT,
608 int nFacetIdx,
609 double dfX,
610 double dfY,
611 int* panOutputFacetIdx );
612 void CPL_DLL GDALTriangulationFree(GDALTriangulation* psDT);
613
615 // GDAL internal use only
616 void GDALTriangulationTerminate(void);
619 GDALDatasetH CPL_DLL GDALOpenVerticalShiftGrid(
620 const char* pszProj4Geoidgrids,
621 int* pbError );
622
623 GDALDatasetH CPL_DLL GDALApplyVerticalShiftGrid( GDALDatasetH hSrcDataset,
624 GDALDatasetH hGridDataset,
625 int bInverse,
626 double dfSrcUnitToMeter,
627 double dfDstUnitToMeter,
628 const char* const* papszOptions );
629
630 CPL_C_END
631
632 #endif /* ndef GDAL_ALG_H_INCLUDED */
GDALGridDataMetricsOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:495
GDALGridInverseDistanceToAPowerNearestNeighborOptions::dfRadius
double dfRadius
Definition: gdal_alg.h:425
OGRLayerH
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:497
GGA_MetricCount
Definition: gdal_alg.h:372
GDALSuggestedWarpOutput
CPLErr GDALSuggestedWarpOutput(GDALDatasetH hSrcDS, GDALTransformerFunc pfnTransformer, void *pTransformArg, double *padfGeoTransformOut, int *pnPixels, int *pnLines)
Suggest output file size.
Definition: gdaltransformer.cpp:177
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:1906
GDALDestroyReprojectionTransformer
void GDALDestroyReprojectionTransformer(void *)
Destroy reprojection transformation.
Definition: gdaltransformer.cpp:2392
GDALDataType
GDALDataType
Definition: gdal.h:57
CPLXMLNode
Document node structure.
Definition: cpl_minixml.h:66
GDALGridInverseDistanceToAPowerNearestNeighborOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:443
cpl_minixml.h
Definitions for CPL mini XML Parser/Serializer.
GDALGeoLocTransform
int GDALGeoLocTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Use GeoLocation transformer.
Definition: gdalgeoloc.cpp:722
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:586
GDALGridDataMetricsOptions
Data metrics method control options.
Definition: gdal_alg.h:485
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:354
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:1732
CPL_C_START
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:352
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:2421
GDALGridMovingAverageOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:463
GDALTriBarycentricCoefficients::dfCstY
double dfCstY
dfCstY
Definition: gdal_alg.h:575
GDALDestroyApproxTransformer
void GDALDestroyApproxTransformer(void *pApproxArg)
Cleanup approximate transformer.
Definition: gdaltransformer.cpp:2729
GGA_InverseDistanceToAPower
Definition: gdal_alg.h:366
GDALGridNearestNeighborOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:481
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:1221
GDALContourWriter
CPLErr(* GDALContourWriter)(double dfLevel, int nPoints, double *padfX, double *padfY, void *)
Contour writer callback type.
Definition: gdal_alg.h:285
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:68
GDALGridInverseDistanceToAPowerNearestNeighborOptions
Inverse distance to a power, with nearest neighbour search, control options.
Definition: gdal_alg.h:420
GDALGridNearestNeighborOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:472
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:141
GUInt32
unsigned int GUInt32
Unsigned int32 type.
Definition: cpl_port.h:199
GDALGridAlgorithm
GDALGridAlgorithm
Gridding Algorithms.
Definition: gdal_alg.h:365
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:905
GDALTriBarycentricCoefficients::dfCstX
double dfCstX
dfCstX
Definition: gdal_alg.h:574
GDALGridDataMetricsOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:501
GGA_MetricRange
Definition: gdal_alg.h:371
GDALDatasetH
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:241
GDALGridInverseDistanceToAPowerOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:401
GDALSetTransformerDstGeoTransform
void GDALSetTransformerDstGeoTransform(void *, const double *)
Set ApproxTransformer or GenImgProj output geotransform.
Definition: gdaltransformer.cpp:3619
GByte
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
GDALTriBarycentricCoefficients::dfMul2Y
double dfMul2Y
dfMul2Y
Definition: gdal_alg.h:573
GDALRPCInfo
Strucutre to store Rational Polynomial Coefficients / Rigorous Projection Model.
Definition: gdal.h:966
GDALGridInverseDistanceToAPowerOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:416
GDALDestroyRPCTransformer
void GDALDestroyRPCTransformer(void *pTransformArg)
Destroy RPC tranformer.
Definition: gdal_rpc.cpp:997
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:112
GDALRasterBandH
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:244
GDALTriangulation::pasFacetCoefficients
GDALTriBarycentricCoefficients * pasFacetCoefficients
arra of nFacets barycentric coefficients
Definition: gdal_alg.h:583
GDALGridInverseDistanceToAPowerOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:414
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:827
GDALGridMovingAverageOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:452
GDALGridMovingAverageOptions
Moving average method control options.
Definition: gdal_alg.h:447
GDALGridInverseDistanceToAPowerOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:394
GDALGridInverseDistanceToAPowerOptions::dfAnisotropyRatio
double dfAnisotropyRatio
Definition: gdal_alg.h:390
GDALTriangulation::pasFacets
GDALTriFacet * pasFacets
array of nFacets facets
Definition: gdal_alg.h:582
GDAL_CG_FeedLine
CPLErr GDAL_CG_FeedLine(GDALContourGeneratorH hCG, double *padfScanline)
Feed a line to the contour generator.
Definition: contour.cpp:218
GDALGridDataMetricsOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:488
GDALTriBarycentricCoefficients
Triangle barycentric coefficients.
Definition: gdal_alg.h:568
GDALDestroyGenImgProjTransformer
void GDALDestroyGenImgProjTransformer(void *)
GenImgProjTransformer deallocator.
Definition: gdaltransformer.cpp:1868
GDALHasTriangulation
int GDALHasTriangulation(void)
Returns if GDAL is built with Delaunay triangulation support.
Definition: delaunay.c:96
GDALCreateGCPTransformer
void * GDALCreateGCPTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int nReqOrder, int bReversed)
Create GCP based polynomial transformer.
Definition: gdal_crs.c:302
GDALSetGenImgProjTransformerDstGeoTransform
void GDALSetGenImgProjTransformerDstGeoTransform(void *, const double *)
Set GenImgProj output geotransform.
Definition: gdaltransformer.cpp:1837
GDAL_CG_Create
GDALContourGeneratorH GDAL_CG_Create(int nWidth, int nHeight, int bNoDataSet, double dfNoDataValue, double dfContourInterval, double dfContourBase, GDALContourWriter pfnWriter, void *pCBData)
Create contour generator.
Definition: contour.cpp:194
GDALCreateGeoLocTransformer
void * GDALCreateGeoLocTransformer(GDALDatasetH hBaseDS, char **papszGeolocationInfo, int bReversed)
Create GeoLocation transformer.
Definition: gdalgeoloc.cpp:524
GDALDestroyGeoLocTransformer
void GDALDestroyGeoLocTransformer(void *pTransformArg)
Destroy GeoLocation transformer.
Definition: gdalgeoloc.cpp:691
GDALGridNearestNeighborOptions
Nearest neighbor method control options.
Definition: gdal_alg.h:469
GDALDestroyGCPTransformer
void GDALDestroyGCPTransformer(void *pTransformArg)
Destroy GCP transformer.
Definition: gdal_crs.c:339
GGA_MetricAverageDistancePts
Definition: gdal_alg.h:375
GDALComputeMatchingPoints
GDAL_GCP * GDALComputeMatchingPoints(GDALDatasetH hFirstImage, GDALDatasetH hSecondImage, char **papszOptions, int *pnGCPCount)
GDALComputeMatchingPoints.
Definition: gdalmatching.cpp:188
gdal.h
Public (C callable) GDAL entry points.
GDALGridLinearOptions::dfRadius
double dfRadius
Definition: gdal_alg.h:514
GDALGridNearestNeighborOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:474
GDALGridLinearOptions
Linear method control options.
Definition: gdal_alg.h:507
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:200
GGA_MetricMinimum
Definition: gdal_alg.h:369
GDALTriangulationComputeBarycentricCoefficients
int GDALTriangulationComputeBarycentricCoefficients(GDALTriangulation *psDT, const double *padfX, const double *padfY)
Computes barycentric coefficients for each triangles of the triangulation.
Definition: delaunay.c:302
GGA_MetricAverageDistance
Definition: gdal_alg.h:373
GDALGridInverseDistanceToAPowerNearestNeighborOptions::dfPower
double dfPower
Definition: gdal_alg.h:423
GDALGridLinearOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:516
GDALCreateRPCTransformer
void * GDALCreateRPCTransformer(GDALRPCInfo *psRPC, int bReversed, double dfPixErrThreshold, char **papszOptions)
Create an RPC based transformer.
Definition: gdal_rpc.cpp:765
GDALTriangulationCreateDelaunay
GDALTriangulation * GDALTriangulationCreateDelaunay(int nPoints, const double *padfX, const double *padfY)
Computes a Delaunay triangulation of the passed points.
Definition: delaunay.c:119
GDALGridInverseDistanceToAPowerOptions::dfAnisotropyAngle
double dfAnisotropyAngle
Definition: gdal_alg.h:392
GDALContourGeneratorH
void * GDALContourGeneratorH
Contour generator opaque type.
Definition: gdal_alg.h:289
GDALReprojectionTransform
int GDALReprojectionTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform reprojection transformation.
Definition: gdaltransformer.cpp:2423
GDALGridMovingAverageOptions::dfRadius1
double dfRadius1
Definition: gdal_alg.h:450
GGA_MovingAverage
Definition: gdal_alg.h:367
GDALTriangulationComputeBarycentricCoordinates
int GDALTriangulationComputeBarycentricCoordinates(const GDALTriangulation *psDT, int nFacetIdx, double dfX, double dfY, double *pdfL1, double *pdfL2, double *pdfL3)
Computes the barycentric coordinates of a point.
Definition: delaunay.c:366
GDALTriBarycentricCoefficients::dfMul2X
double dfMul2X
dfMul2X
Definition: gdal_alg.h:572
GDALGridNearestNeighborOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:479
GGA_InverseDistanceToAPowerNearestNeighbor
Definition: gdal_alg.h:379
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:383
GDALCreateApproxTransformer
void * GDALCreateApproxTransformer(GDALTransformerFunc pfnRawTransformer, void *pRawTransformerArg, double dfMaxError)
Create an approximating transformer.
Definition: gdaltransformer.cpp:2665
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:1633
GDALGridContextFree
void GDALGridContextFree(GDALGridContext *psContext)
Free a context used created by GDALGridContextCreate()
Definition: gdalgrid.cpp:2128
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:226
GDALTransformerFunc
int(* GDALTransformerFunc)(void *pTransformerArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Definition: gdal_alg.h:114
GDALRPCTransform
int GDALRPCTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
RPC transform.
Definition: gdal_rpc.cpp:1775
GDALGridMovingAverageOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:465
OGRGeometryH
void * OGRGeometryH
Opaque type for a geometyr.
Definition: ogr_api.h:56
GDALGridInverseDistanceToAPowerOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:396
GDALTriangulation::nFacets
int nFacets
number of facets
Definition: gdal_alg.h:581
GGA_MetricMaximum
Definition: gdal_alg.h:370
GDALCreateGenImgProjTransformer2
void * GDALCreateGenImgProjTransformer2(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions)
Create image to image transformer.
Definition: gdaltransformer.cpp:1241
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:413
GDALApplyVerticalShiftGrid
GDALDatasetH GDALApplyVerticalShiftGrid(GDALDatasetH hSrcDataset, GDALDatasetH hGridDataset, int bInverse, double dfSrcUnitToMeter, double dfDstUnitToMeter, const char *const *papszOptions)
Apply a vertical shift grid to a source (DEM typically) dataset.
Definition: gdalapplyverticalshiftgrid.cpp:371
GDALGridDataMetricsOptions::dfRadius2
double dfRadius2
Definition: gdal_alg.h:490
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:358
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:3047
CPL_C_END
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:354
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:1010
GDALGridInverseDistanceToAPowerOptions
Inverse distance to a power method control options.
Definition: gdal_alg.h:383
GDALDestroyTPSTransformer
void GDALDestroyTPSTransformer(void *pTransformArg)
Destroy TPS transformer.
Definition: gdal_tps.cpp:313
GDALGridInverseDistanceToAPowerNearestNeighborOptions::dfSmoothing
double dfSmoothing
Definition: gdal_alg.h:427
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:2182
GDALColorTableH
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:250
GDALCreateReprojectionTransformer
void * GDALCreateReprojectionTransformer(const char *pszSrcWKT, const char *pszDstWKT)
Create reprojection transformer.
Definition: gdaltransformer.cpp:2322
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:827
GDALGridInverseDistanceToAPowerOptions::dfPower
double dfPower
Definition: gdal_alg.h:386
GDALTriFacet
Triangle fact.
Definition: gdal_alg.h:553
GDALGridInverseDistanceToAPowerOptions::nMaxPoints
GUInt32 nMaxPoints
Definition: gdal_alg.h:408
GGA_NearestNeighbor
Definition: gdal_alg.h:368
GDALOpenVerticalShiftGrid
GDALDatasetH GDALOpenVerticalShiftGrid(const char *pszProj4Geoidgrids, int *pbError)
Load proj.4 geoidgrids as GDAL dataset.
Definition: gdalapplyverticalshiftgrid.cpp:655
GDALCreateGenImgProjTransformer3
void * GDALCreateGenImgProjTransformer3(const char *pszSrcWKT, const double *padfSrcGeoTransform, const char *pszDstWKT, const double *padfDstGeoTransform)
Create image to image transformer.
Definition: gdaltransformer.cpp:1729
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:402
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:147
GDALGridDataMetricsOptions::dfNoDataValue
double dfNoDataValue
Definition: gdal_alg.h:503
GGA_Linear
Definition: gdal_alg.h:377
GDALTriBarycentricCoefficients::dfMul1Y
double dfMul1Y
dfMul1Y
Definition: gdal_alg.h:571
GDALGridContext
struct GDALGridContext GDALGridContext
Grid context opaque type.
Definition: gdal_alg.h:527
GDALGridMovingAverageOptions::dfAngle
double dfAngle
Definition: gdal_alg.h:457
GDALApproxTransformerOwnsSubtransformer
void GDALApproxTransformerOwnsSubtransformer(void *pCBData, int bOwnFlag)
Set bOwnSubtransformer flag.
Definition: gdaltransformer.cpp:2708
GDALCreateGCPRefineTransformer
void * GDALCreateGCPRefineTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int nReqOrder, int bReversed, double tolerance, int minimumGcps)
Create GCP based polynomial transformer, with a tolerance threshold to discard GCPs that transform ba...
Definition: gdal_crs.c:312
GDALTriangulationFree
void GDALTriangulationFree(GDALTriangulation *psDT)
Free a triangulation.
Definition: delaunay.c:276
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:500
GDALTriBarycentricCoefficients::dfMul1X
double dfMul1X
dfMul1X
Definition: gdal_alg.h:570
GDALGridInverseDistanceToAPowerNearestNeighborOptions::nMinPoints
GUInt32 nMinPoints
Definition: gdal_alg.h:441
GDAL_CG_Destroy
void GDAL_CG_Destroy(GDALContourGeneratorH hCG)
Destroy contour generator.
Definition: contour.cpp:231
GDAL_GCP
Ground Control Point.
Definition: gdal.h:514
CPLErr
CPLErr
Error category.
Definition: cpl_error.h:52
GDALGridInverseDistanceToAPowerOptions::dfSmoothing
double dfSmoothing
Definition: gdal_alg.h:388
GDALGridInverseDistanceToAPowerNearestNeighborOptions::nMaxPoints
GUInt32 nMaxPoints
Definition: gdal_alg.h:435
GDALCreateTPSTransformer
void * GDALCreateTPSTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int bReversed)
Create Thin Plate Spline transformer from GCPs.
Definition: gdal_tps.cpp:144
GDALChecksumImage
int GDALChecksumImage(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize)
Compute checksum for image region.
Definition: gdalchecksum.cpp:66
GDALTriangulation
Triangulation structure.
Definition: gdal_alg.h:579

Generated for GDAL by 1.8.8.