31 #ifndef GDAL_ALG_H_INCLUDED
32 #define GDAL_ALG_H_INCLUDED
51 int (*pfnIncludePixel)(
int,
int,
void*),
54 GDALProgressFunc pfnProgress,
55 void * pProgressArg );
62 GDALProgressFunc pfnProgress,
63 void * pProgressArg );
66 int nXOff,
int nYOff,
int nXSize,
int nYSize );
68 CPLErr CPL_DLL CPL_STDCALL
72 GDALProgressFunc pfnProgress,
73 void * pProgressArg );
75 CPLErr CPL_DLL CPL_STDCALL
78 double dfMaxSearchDist,
79 int bDeprecatedOption,
80 int nSmoothingIterations,
82 GDALProgressFunc pfnProgress,
83 void * pProgressArg );
85 CPLErr CPL_DLL CPL_STDCALL
88 OGRLayerH hOutLayer,
int iPixValField,
90 GDALProgressFunc pfnProgress,
91 void * pProgressArg );
93 CPLErr CPL_DLL CPL_STDCALL
96 OGRLayerH hOutLayer,
int iPixValField,
98 GDALProgressFunc pfnProgress,
99 void * pProgressArg );
101 CPLErr CPL_DLL CPL_STDCALL
104 int nSizeThreshold,
int nConnectedness,
106 GDALProgressFunc pfnProgress,
107 void * pProgressArg );
115 int bDstToSrc,
int nPointCount,
116 double *x,
double *y,
double *z,
int *panSuccess );
118 #define GDAL_GTI2_SIGNATURE "GTI2"
121 GByte abySignature[4];
122 const char *pszClassName;
124 void (*pfnCleanup)(
void * pTransformerArg );
125 CPLXMLNode *(*pfnSerialize)(
void * pTransformerArg );
126 void* (*pfnCreateSimilar)(
void* pTransformerArg,
double dfSrcRatioX,
double dfSrcRatioY );
129 void CPL_DLL GDALDestroyTransformer(
void *pTransformerArg );
130 int CPL_DLL GDALUseTransformer(
void *pTranformerArg,
131 int bDstToSrc,
int nPointCount,
132 double *x,
double *y,
double *z,
134 void* GDALCreateSimilarTransformer(
void* psTransformerArg,
double dfSrcRatioX,
double dfSrcRatioY );
142 GDALCreateGenImgProjTransformer(
GDALDatasetH hSrcDS,
const char *pszSrcWKT,
144 int bGCPUseOK,
double dfGCPErrorThreshold,
148 char **papszOptions );
151 const double *padfSrcGeoTransform,
152 const char *pszDstWKT,
153 const double *padfDstGeoTransform );
158 void *pTransformArg,
int bDstToSrc,
int nPointCount,
159 double *x,
double *y,
double *z,
int *panSuccess );
161 void GDALSetTransformerDstGeoTransform(
void *,
const double * );
166 const char *pszDstWKT );
169 void *pTransformArg,
int bDstToSrc,
int nPointCount,
170 double *x,
double *y,
double *z,
int *panSuccess );
175 int nReqOrder,
int bReversed );
179 GDALCreateGCPRefineTransformer(
int nGCPCount,
const GDAL_GCP *pasGCPList,
180 int nReqOrder,
int bReversed,
double tolerance,
int minimumGcps);
184 void *pTransformArg,
int bDstToSrc,
int nPointCount,
185 double *x,
double *y,
double *z,
int *panSuccess );
193 int CPL_DLL GDALTPSTransform(
194 void *pTransformArg,
int bDstToSrc,
int nPointCount,
195 double *x,
double *y,
double *z,
int *panSuccess );
197 char CPL_DLL ** RPCInfoToMD(
GDALRPCInfo *psRPCInfo );
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 );
214 char **papszGeolocationInfo,
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 );
224 void *pRawTransformerArg,
double dfMaxError );
225 void CPL_DLL GDALApproxTransformerOwnsSubtransformer(
void *pCBData,
229 void *pTransformArg,
int bDstToSrc,
int nPointCount,
230 double *x,
double *y,
double *z,
int *panSuccess );
235 int CPL_DLL CPL_STDCALL
238 int nBandCount,
int *panBandList,
241 GDALProgressFunc pfnProgress,
243 char **papszWarpOptions );
245 CPLErr CPL_DLL CPL_STDCALL
249 double *padfGeoTransformOut,
250 int *pnPixels,
int *pnLines );
251 CPLErr CPL_DLL CPL_STDCALL
255 double *padfGeoTransformOut,
256 int *pnPixels,
int *pnLines,
262 CPLErr CPL_DLL GDALDeserializeTransformer(
CPLXMLNode *psTree,
264 void **ppTransformArg );
272 GDALProgressFunc pfnProgress,
274 char **papszOptions );
280 typedef CPLErr (*GDALContourWriter)(
double dfLevel,
int nPoints,
281 double *padfX,
double *padfY,
void * );
283 typedef void *GDALContourGeneratorH;
285 GDALContourGeneratorH CPL_DLL
286 GDAL_CG_Create(
int nWidth,
int nHeight,
287 int bNoDataSet,
double dfNoDataValue,
288 double dfContourInterval,
double dfContourBase,
289 GDALContourWriter pfnWriter,
void *pCBData );
290 CPLErr CPL_DLL GDAL_CG_FeedLine( GDALContourGeneratorH hCG,
291 double *padfScanline );
292 void CPL_DLL GDAL_CG_Destroy( GDALContourGeneratorH hCG );
298 double adfGeoTransform[6];
306 OGRContourWriter(
double,
int,
double *,
double *,
void *pInfo );
310 double dfContourInterval,
double dfContourBase,
311 int nFixedLevelCount,
double *padfFixedLevels,
312 int bUseNoData,
double dfNoDataValue,
313 void *hLayer,
int iIDField,
int iElevField,
314 GDALProgressFunc pfnProgress,
void *pProgressArg );
322 int nBandCount,
int *panBandList,
323 int nGeomCount, OGRGeometryH *pahGeometries,
326 double *padfGeomBurnValue,
328 GDALProgressFunc pfnProgress,
329 void * pProgressArg );
332 int nBandCount,
int *panBandList,
333 int nLayerCount, OGRLayerH *pahLayers,
336 double *padfLayerBurnValues,
338 GDALProgressFunc pfnProgress,
339 void *pProgressArg );
344 int nLayerCount, OGRLayerH *pahLayers,
345 const char *pszDstProjection,
346 double *padfDstGeoTransform,
348 void *pTransformArg,
double dfBurnValue,
349 char **papszOptions, GDALProgressFunc pfnProgress,
350 void *pProgressArg );
470 const double *,
const double *,
const double *,
471 double,
double,
double,
double,
473 GDALProgressFunc,
void *);
double dfAngle
Definition: gdal_alg.h:457
Definition: gdal_alg.h:365
CPLErr GDALSuggestedWarpOutput(GDALDatasetH hSrcDS, GDALTransformerFunc pfnTransformer, void *pTransformArg, double *padfGeoTransformOut, int *pnPixels, int *pnLines)
Suggest output file size.
Definition: gdaltransformer.cpp:152
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
void GDALDestroyReprojectionTransformer(void *)
Destroy reprojection transformation.
Definition: gdaltransformer.cpp:2368
GDALDataType
Definition: gdal.h:57
Document node structure.
Definition: cpl_minixml.h:65
Definitions for CPL mini XML Parser/Serializer.
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:560
Data metrics method control options.
Definition: gdal_alg.h:447
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:1470
GUInt32 nMinPoints
Definition: gdal_alg.h:425
void GDALDestroyApproxTransformer(void *pApproxArg)
Cleanup approximate transformer.
Definition: gdaltransformer.cpp:2676
Definition: gdal_alg.h:359
double dfNoDataValue
Definition: gdal_alg.h:443
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:1161
double dfRadius1
Definition: gdal_alg.h:434
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:124
GDALGridAlgorithm
Gridding Algorithms.
Definition: gdal_alg.h:358
CPLErr GDALFPolygonize(GDALRasterBandH hSrcBand, GDALRasterBandH hMaskBand, OGRLayerH hOutLayer, int iPixValField, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Create polygon coverage from raster data.
Definition: fpolygonize.cpp:544
GUInt32 nMinPoints
Definition: gdal_alg.h:463
Definition: gdal_alg.h:364
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:227
double dfAngle
Definition: gdal_alg.h:390
double dfNoDataValue
Definition: gdal_alg.h:405
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:102
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:230
GUInt32 nMinPoints
Definition: gdal_alg.h:403
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:784
double dfRadius2
Definition: gdal_alg.h:414
Moving average method control options.
Definition: gdal_alg.h:409
double dfRadius1
Definition: gdal_alg.h:383
double dfAnisotropyRatio
Definition: gdal_alg.h:379
double dfRadius1
Definition: gdal_alg.h:450
void GDALDestroyGenImgProjTransformer(void *)
GenImgProjTransformer deallocator.
Definition: gdaltransformer.cpp:1679
void * GDALCreateGCPTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int nReqOrder, int bReversed)
Create GCP based polynomial transformer.
Definition: gdal_crs.c:297
void GDALSetGenImgProjTransformerDstGeoTransform(void *, const double *)
Set GenImgProj output geotransform.
Definition: gdaltransformer.cpp:1649
Definition: gdal_alg.h:294
Nearest neighbor method control options.
Definition: gdal_alg.h:431
void GDALDestroyGCPTransformer(void *pTransformArg)
Destroy GCP transformer.
Definition: gdal_crs.c:331
Definition: gdal_alg.h:368
Public (C callable) GDAL entry points.
double dfRadius2
Definition: gdal_alg.h:436
Definition: gdal_alg.h:362
Definition: gdal_alg.h:366
void * GDALCreateRPCTransformer(GDALRPCInfo *psRPC, int bReversed, double dfPixErrThreshold, char **papszOptions)
Create an RPC based transformer.
Definition: gdal_rpc.cpp:436
double dfAnisotropyAngle
Definition: gdal_alg.h:381
int GDALReprojectionTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform reprojection transformation.
Definition: gdaltransformer.cpp:2399
double dfRadius1
Definition: gdal_alg.h:412
Definition: gdal_alg.h:360
double dfAngle
Definition: gdal_alg.h:441
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_nrgcrs.c:239
void * GDALCreateApproxTransformer(GDALTransformerFunc pfnRawTransformer, void *pRawTransformerArg, double dfMaxError)
Create an approximating transformer.
Definition: gdaltransformer.cpp:2629
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:1532
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
int(* GDALTransformerFunc)(void *pTransformerArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Definition: gdal_alg.h:114
double dfNoDataValue
Definition: gdal_alg.h:427
double dfRadius2
Definition: gdal_alg.h:385
Definition: gdal_alg.h:363
void * GDALCreateGenImgProjTransformer2(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions)
Create image to image transformer.
Definition: gdaltransformer.cpp:1172
double dfRadius2
Definition: gdal_alg.h:452
C API and defines for OGRFeature, OGRGeometry, and OGRDataSource related classes. ...
int GDALApproxTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform approximate transformation.
Definition: gdaltransformer.cpp:2962
Inverse distance to a power method control options.
Definition: gdal_alg.h:372
void GDALDestroyTPSTransformer(void *pTransformArg)
Destroy TPS transformer.
Definition: gdal_tps.cpp:248
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:236
void * GDALCreateReprojectionTransformer(const char *pszSrcWKT, const char *pszDstWKT)
Create reprojection transformer.
Definition: gdaltransformer.cpp:2300
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:493
double dfPower
Definition: gdal_alg.h:375
GUInt32 nMaxPoints
Definition: gdal_alg.h:397
Definition: gdal_alg.h:361
void * GDALCreateGenImgProjTransformer3(const char *pszSrcWKT, const double *padfSrcGeoTransform, const char *pszDstWKT, const double *padfDstGeoTransform)
Create image to image transformer.
Definition: gdaltransformer.cpp:1542
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:389
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:121
double dfNoDataValue
Definition: gdal_alg.h:465
double dfAngle
Definition: gdal_alg.h:419
Ground Control Point.
Definition: gdal.h:442
double dfSmoothing
Definition: gdal_alg.h:377
void * GDALCreateTPSTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int bReversed)
Create Thin Plate Spline transformer from GCPs.
Definition: gdal_tps.cpp:133
int GDALChecksumImage(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize)
Compute checksum for image region.
Definition: gdalchecksum.cpp:58