30 #ifndef GDAL_ALG_H_INCLUDED
31 #define GDAL_ALG_H_INCLUDED
50 int (*pfnIncludePixel)(
int,
int,
void*),
53 GDALProgressFunc pfnProgress,
54 void * pProgressArg );
61 GDALProgressFunc pfnProgress,
62 void * pProgressArg );
65 int nXOff,
int nYOff,
int nXSize,
int nYSize );
67 CPLErr CPL_DLL CPL_STDCALL
71 GDALProgressFunc pfnProgress,
72 void * pProgressArg );
74 CPLErr CPL_DLL CPL_STDCALL
77 double dfMaxSearchDist,
78 int bDeprecatedOption,
79 int nSmoothingIterations,
81 GDALProgressFunc pfnProgress,
82 void * pProgressArg );
84 CPLErr CPL_DLL CPL_STDCALL
87 OGRLayerH hOutLayer,
int iPixValField,
89 GDALProgressFunc pfnProgress,
90 void * pProgressArg );
92 CPLErr CPL_DLL CPL_STDCALL
95 OGRLayerH hOutLayer,
int iPixValField,
97 GDALProgressFunc pfnProgress,
98 void * pProgressArg );
100 CPLErr CPL_DLL CPL_STDCALL
103 int nSizeThreshold,
int nConnectedness,
105 GDALProgressFunc pfnProgress,
106 void * pProgressArg );
114 int bDstToSrc,
int nPointCount,
115 double *x,
double *y,
double *z,
int *panSuccess );
119 const char *pszClassName;
121 void (*pfnCleanup)(
void * );
126 void CPL_DLL GDALDestroyTransformer(
void *pTransformerArg );
127 int CPL_DLL GDALUseTransformer(
void *pTranformerArg,
128 int bDstToSrc,
int nPointCount,
129 double *x,
double *y,
double *z,
139 int bGCPUseOK,
double dfGCPErrorThreshold,
143 char **papszOptions );
146 const double *padfSrcGeoTransform,
147 const char *pszDstWKT,
148 const double *padfDstGeoTransform );
153 void *pTransformArg,
int bDstToSrc,
int nPointCount,
154 double *x,
double *y,
double *z,
int *panSuccess );
159 const char *pszDstWKT );
162 void *pTransformArg,
int bDstToSrc,
int nPointCount,
163 double *x,
double *y,
double *z,
int *panSuccess );
168 int nReqOrder,
int bReversed );
172 GDALCreateGCPRefineTransformer(
int nGCPCount,
const GDAL_GCP *pasGCPList,
173 int nReqOrder,
int bReversed,
double tolerance,
int minimumGcps);
177 void *pTransformArg,
int bDstToSrc,
int nPointCount,
178 double *x,
double *y,
double *z,
int *panSuccess );
187 void *pTransformArg,
int bDstToSrc,
int nPointCount,
188 double *x,
double *y,
double *z,
int *panSuccess );
190 char CPL_DLL ** RPCInfoToMD(
GDALRPCInfo *psRPCInfo );
196 double dfPixErrThreshold,
197 char **papszOptions );
198 void CPL_DLL GDALDestroyRPCTransformer(
void *pTransformArg );
199 int CPL_DLL GDALRPCTransform(
200 void *pTransformArg,
int bDstToSrc,
int nPointCount,
201 double *x,
double *y,
double *z,
int *panSuccess );
207 char **papszGeolocationInfo,
209 void CPL_DLL GDALDestroyGeoLocTransformer(
void *pTransformArg );
210 int CPL_DLL GDALGeoLocTransform(
211 void *pTransformArg,
int bDstToSrc,
int nPointCount,
212 double *x,
double *y,
double *z,
int *panSuccess );
217 void *pRawTransformerArg,
double dfMaxError );
218 void CPL_DLL GDALApproxTransformerOwnsSubtransformer(
void *pCBData,
222 void *pTransformArg,
int bDstToSrc,
int nPointCount,
223 double *x,
double *y,
double *z,
int *panSuccess );
228 int CPL_DLL CPL_STDCALL
231 int nBandCount,
int *panBandList,
234 GDALProgressFunc pfnProgress,
236 char **papszWarpOptions );
238 CPLErr CPL_DLL CPL_STDCALL
242 double *padfGeoTransformOut,
243 int *pnPixels,
int *pnLines );
244 CPLErr CPL_DLL CPL_STDCALL
248 double *padfGeoTransformOut,
249 int *pnPixels,
int *pnLines,
255 CPLErr CPL_DLL GDALDeserializeTransformer(
CPLXMLNode *psTree,
257 void **ppTransformArg );
265 GDALProgressFunc pfnProgress,
267 char **papszOptions );
273 typedef CPLErr (*GDALContourWriter)(
double dfLevel,
int nPoints,
274 double *padfX,
double *padfY,
void * );
276 typedef void *GDALContourGeneratorH;
278 GDALContourGeneratorH CPL_DLL
279 GDAL_CG_Create(
int nWidth,
int nHeight,
280 int bNoDataSet,
double dfNoDataValue,
281 double dfContourInterval,
double dfContourBase,
282 GDALContourWriter pfnWriter,
void *pCBData );
283 CPLErr CPL_DLL GDAL_CG_FeedLine( GDALContourGeneratorH hCG,
284 double *padfScanline );
285 void CPL_DLL GDAL_CG_Destroy( GDALContourGeneratorH hCG );
291 double adfGeoTransform[6];
299 OGRContourWriter(
double,
int,
double *,
double *,
void *pInfo );
303 double dfContourInterval,
double dfContourBase,
304 int nFixedLevelCount,
double *padfFixedLevels,
305 int bUseNoData,
double dfNoDataValue,
306 void *hLayer,
int iIDField,
int iElevField,
307 GDALProgressFunc pfnProgress,
void *pProgressArg );
315 int nBandCount,
int *panBandList,
316 int nGeomCount, OGRGeometryH *pahGeometries,
319 double *padfGeomBurnValue,
321 GDALProgressFunc pfnProgress,
322 void * pProgressArg );
325 int nBandCount,
int *panBandList,
326 int nLayerCount, OGRLayerH *pahLayers,
329 double *padfLayerBurnValues,
331 GDALProgressFunc pfnProgress,
332 void *pProgressArg );
337 int nLayerCount, OGRLayerH *pahLayers,
338 const char *pszDstProjection,
339 double *padfDstGeoTransform,
341 void *pTransformArg,
double dfBurnValue,
342 char **papszOptions, GDALProgressFunc pfnProgress,
343 void *pProgressArg );
463 const double *,
const double *,
const double *,
464 double,
double,
double,
double,
466 GDALProgressFunc,
void *);
double dfAngle
Definition: gdal_alg.h:450
Definition: gdal_alg.h:358
CPLErr GDALSuggestedWarpOutput(GDALDatasetH hSrcDS, GDALTransformerFunc pfnTransformer, void *pTransformArg, double *padfGeoTransformOut, int *pnPixels, int *pnLines)
Suggest output file size.
Definition: gdaltransformer.cpp:151
int GDALGenImgProjTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform general image reprojection transformation.
Definition: gdaltransformer.cpp:1567
void GDALDestroyReprojectionTransformer(void *)
Destroy reprojection transformation.
Definition: gdaltransformer.cpp:2141
GDALDataType
Definition: gdal.h:53
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:477
Data metrics method control options.
Definition: gdal_alg.h:440
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:336
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:1707
GUInt32 nMinPoints
Definition: gdal_alg.h:418
void GDALDestroyApproxTransformer(void *pApproxArg)
Cleanup approximate transformer.
Definition: gdaltransformer.cpp:2444
Definition: gdal_alg.h:352
double dfNoDataValue
Definition: gdal_alg.h:436
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:1058
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:63
double dfRadius1
Definition: gdal_alg.h:427
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:91
GDALGridAlgorithm
Gridding Algorithms.
Definition: gdal_alg.h:351
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:456
Definition: gdal_alg.h:357
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:160
double dfAngle
Definition: gdal_alg.h:383
double dfNoDataValue
Definition: gdal_alg.h:398
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:95
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:163
GUInt32 nMinPoints
Definition: gdal_alg.h:396
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:686
double dfRadius2
Definition: gdal_alg.h:407
Moving average method control options.
Definition: gdal_alg.h:402
double dfRadius1
Definition: gdal_alg.h:376
double dfAnisotropyRatio
Definition: gdal_alg.h:372
double dfRadius1
Definition: gdal_alg.h:443
void GDALDestroyGenImgProjTransformer(void *)
GenImgProjTransformer deallocator.
Definition: gdaltransformer.cpp:1525
void * GDALCreateGCPTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int nReqOrder, int bReversed)
Create GCP based polynomial transformer.
Definition: gdal_crs.c:240
void GDALSetGenImgProjTransformerDstGeoTransform(void *, const double *)
Set GenImgProj output geotransform.
Definition: gdaltransformer.cpp:1495
Definition: gdal_alg.h:287
Nearest neighbor method control options.
Definition: gdal_alg.h:424
void GDALDestroyGCPTransformer(void *pTransformArg)
Destroy GCP transformer.
Definition: gdal_crs.c:274
Definition: gdal_alg.h:361
Public (C callable) GDAL entry points.
double dfRadius2
Definition: gdal_alg.h:429
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:182
Definition: gdal_alg.h:355
Definition: gdal_alg.h:359
void * GDALCreateRPCTransformer(GDALRPCInfo *psRPC, int bReversed, double dfPixErrThreshold, char **papszOptions)
Create an RPC based transformer.
Definition: gdal_rpc.cpp:362
double dfAnisotropyAngle
Definition: gdal_alg.h:374
int GDALReprojectionTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform reprojection transformation.
Definition: gdaltransformer.cpp:2171
double dfRadius1
Definition: gdal_alg.h:405
Definition: gdal_alg.h:353
double dfAngle
Definition: gdal_alg.h:434
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:312
void * GDALCreateApproxTransformer(GDALTransformerFunc pfnRawTransformer, void *pRawTransformerArg, double dfMaxError)
Create an approximating transformer.
Definition: gdaltransformer.cpp:2398
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:1531
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:113
double dfNoDataValue
Definition: gdal_alg.h:420
double dfRadius2
Definition: gdal_alg.h:378
Definition: gdal_alg.h:356
void * GDALCreateGenImgProjTransformer2(GDALDatasetH hSrcDS, GDALDatasetH hDstDS, char **papszOptions)
Create image to image transformer.
Definition: gdaltransformer.cpp:1083
double dfRadius2
Definition: gdal_alg.h:445
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:225
int GDALApproxTransform(void *pTransformArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Perform approximate transformation.
Definition: gdaltransformer.cpp:2470
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:915
Inverse distance to a power method control options.
Definition: gdal_alg.h:365
void GDALDestroyTPSTransformer(void *pTransformArg)
Destroy TPS transformer.
Definition: gdal_tps.cpp:181
void * GDALColorTableH
Opaque type used for the C bindings of the C++ GDALColorTable class.
Definition: gdal.h:174
void * GDALCreateReprojectionTransformer(const char *pszSrcWKT, const char *pszDstWKT)
Create reprojection transformer.
Definition: gdaltransformer.cpp:2073
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:494
double dfPower
Definition: gdal_alg.h:368
GUInt32 nMaxPoints
Definition: gdal_alg.h:390
Definition: gdal_alg.h:354
void * GDALCreateGenImgProjTransformer3(const char *pszSrcWKT, const double *padfSrcGeoTransform, const char *pszDstWKT, const double *padfDstGeoTransform)
Create image to image transformer.
Definition: gdaltransformer.cpp:1381
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
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:108
double dfNoDataValue
Definition: gdal_alg.h:458
double dfAngle
Definition: gdal_alg.h:412
Ground Control Point.
Definition: gdal.h:253
double dfSmoothing
Definition: gdal_alg.h:370
void * GDALCreateTPSTransformer(int nGCPCount, const GDAL_GCP *pasGCPList, int bReversed)
Create Thin Plate Spline transformer from GCPs.
Definition: gdal_tps.cpp:110
int GDALChecksumImage(GDALRasterBandH hBand, int nXOff, int nYOff, int nXSize, int nYSize)
Compute checksum for image region.
Definition: gdalchecksum.cpp:57