31 #ifndef GDALWARPER_H_INCLUDED 32 #define GDALWARPER_H_INCLUDED 59 (*GDALMaskFunc)(
void *pMaskFuncArg,
62 int nXSize,
int nYSize,
63 GByte **papabyImageData,
64 int bMaskIsFloat,
void *pMask );
67 GDALWarpNoDataMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
68 int nXOff,
int nYOff,
int nXSize,
int nYSize,
69 GByte **papabyImageData,
int bMaskIsFloat,
70 void *pValidityMask );
73 GDALWarpDstAlphaMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
74 int nXOff,
int nYOff,
int nXSize,
int nYSize,
76 int bMaskIsFloat,
void *pValidityMask );
78 GDALWarpSrcAlphaMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
79 int nXOff,
int nYOff,
int nXSize,
int nYSize,
81 int bMaskIsFloat,
void *pValidityMask );
84 GDALWarpSrcMaskMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
85 int nXOff,
int nYOff,
int nXSize,
int nYSize,
87 int bMaskIsFloat,
void *pValidityMask );
90 GDALWarpCutlineMasker(
void *pMaskFuncArg,
int nBandCount,
GDALDataType eType,
91 int nXOff,
int nYOff,
int nXSize,
int nYSize,
93 int bMaskIsFloat,
void *pValidityMask );
160 GDALMaskFunc *papfnSrcPerBandValidityMaskFunc;
161 void **papSrcPerBandValidityMaskFuncArg;
163 GDALMaskFunc pfnSrcValidityMaskFunc;
164 void *pSrcValidityMaskFuncArg;
166 GDALMaskFunc pfnSrcDensityMaskFunc;
167 void *pSrcDensityMaskFuncArg;
169 GDALMaskFunc pfnDstDensityMaskFunc;
170 void *pDstDensityMaskFuncArg;
172 GDALMaskFunc pfnDstValidityMaskFunc;
173 void *pDstValidityMaskFuncArg;
175 CPLErr (*pfnPreWarpChunkProcessor)(
void *pKern,
void *pArg );
176 void *pPreWarpProcessorArg;
178 CPLErr (*pfnPostWarpChunkProcessor)(
void *pKern,
void *pArg);
179 void *pPostWarpProcessorArg;
203 CPLErr CPL_DLL CPL_STDCALL
204 GDALReprojectImage(
GDALDatasetH hSrcDS,
const char *pszSrcWKT,
208 GDALProgressFunc pfnProgress,
void *pProgressArg,
211 CPLErr CPL_DLL CPL_STDCALL
212 GDALCreateAndReprojectImage(
GDALDatasetH hSrcDS,
const char *pszSrcWKT,
213 const char *pszDstFilename,
const char *pszDstWKT,
217 GDALProgressFunc pfnProgress,
void *pProgressArg,
226 const char *pszSrcWKT,
const char *pszDstWKT,
232 int nPixels,
int nLines,
double *padfGeoTransform,
235 CPLErr CPL_DLL CPL_STDCALL
258 #define WARP_EXTRA_ELTS 1 263 char **papszWarpOptions;
304 double dfProgressBase;
305 double dfProgressScale;
307 double *padfDstNoDataReal;
313 CPLErr PerformWarp();
331 int ValidateOptions();
333 CPLErr ComputeSourceWindow(
int nDstXOff,
int nDstYOff,
334 int nDstXSize,
int nDstYSize,
335 int *pnSrcXOff,
int *pnSrcYOff,
336 int *pnSrcXSize,
int *pnSrcYSize );
339 const char *pszType );
352 unsigned long nLastTimeReported;
354 void WipeChunkList();
355 CPLErr CollectChunkList(
int nDstXOff,
int nDstYOff,
356 int nDstXSize,
int nDstYSize );
357 void ReportTiming(
const char * );
367 CPLErr ChunkAndWarpImage(
int nDstXOff,
int nDstYOff,
368 int nDstXSize,
int nDstYSize );
369 CPLErr ChunkAndWarpMulti(
int nDstXOff,
int nDstYOff,
370 int nDstXSize,
int nDstYSize );
371 CPLErr WarpRegion(
int nDstXOff,
int nDstYOff,
372 int nDstXSize,
int nDstYSize,
373 int nSrcXOff=0,
int nSrcYOff=0,
374 int nSrcXSize=0,
int nSrcYSize=0,
375 double dfProgressBase=0.0,
double dfProgressScale=1.0);
377 CPLErr WarpRegionToBuffer(
int nDstXOff,
int nDstYOff,
378 int nDstXSize,
int nDstYSize,
381 int nSrcXOff=0,
int nSrcYOff=0,
382 int nSrcXSize=0,
int nSrcYSize=0,
383 double dfProgressBase=0.0,
double dfProgressScale=1.0);
390 typedef void * GDALWarpOperationH;
397 int,
int,
int,
int,
int,
int,
int,
int );
400 int,
int,
int,
int );
int nSrcXOff
X offset to source pixel coordinates for transformation.
Definition: gdalwarper.h:292
GDALDataType
Definition: gdal.h:55
Document node structure.
Definition: cpl_minixml.h:65
Low level image warping class.
Definition: gdalwarper.h:260
Definitions for CPL mini XML Parser/Serializer.
Definition: gdalwarper.h:52
GByte ** papabySrcImage
Array of source image band data.
Definition: gdalwarper.h:271
CPLErr GDALInitializeWarpedVRT(GDALDatasetH hDS, GDALWarpOptions *psWO)
Set warp info on virtual warped dataset.
Definition: vrtwarped.cpp:802
GUInt32 * panUnifiedSrcValid
Per pixel validity mask for source pixels.
Definition: gdalwarper.h:274
int nDstXSize
Width of destination image in pixels.
Definition: gdalwarper.h:277
int * panDstBands
Definition: gdalwarper.h:127
void * pProgressArg
Definition: gdalwarper.h:152
int nDstXOff
X offset to destination pixel coordinates for transformation.
Definition: gdalwarper.h:295
double dfWarpMemoryLimit
Definition: gdalwarper.h:105
int nSrcAlphaBand
Definition: gdalwarper.h:130
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:162
CPLErr GDALWarpRegionToBuffer(GDALWarpOperationH, int, int, int, int, void *, GDALDataType, int, int, int, int)
Definition: gdalwarpoperation.cpp:1863
Definition: gdalwarper.h:53
Definition: gdalwarper.h:54
GUInt32 * panDstValid
Per pixel validity mask for destination pixels.
Definition: gdalwarper.h:280
double * padfDstNoDataReal
Definition: gdalwarper.h:142
GDALDataType eWorkingDataType
Working pixel data type.
Definition: gdalwarper.h:266
float * pafUnifiedSrcDensity
Per pixel density mask for source pixels.
Definition: gdalwarper.h:275
double * padfSrcNoDataImag
Definition: gdalwarper.h:139
GDALResampleAlg eResampleAlg
Definition: gdalwarper.h:108
CPLErr GDALChunkAndWarpMulti(GDALWarpOperationH, int, int, int, int)
Definition: gdalwarpoperation.cpp:961
CPLErr GDALWarpRegion(GDALWarpOperationH, int, int, int, int, int, int, int, int)
Definition: gdalwarpoperation.cpp:1378
GDALDatasetH GDALCreateWarpedVRT(GDALDatasetH hSrcDS, int nPixels, int nLines, double *padfGeoTransform, GDALWarpOptions *psOptions)
Create virtual warped dataset.
Definition: vrtwarped.cpp:230
GDALTransformerFunc pfnTransformer
Definition: gdalwarper.h:155
void GDALDestroyWarpOperation(GDALWarpOperationH)
Definition: gdalwarpoperation.cpp:606
double * padfDstNoDataImag
Definition: gdalwarper.h:145
int nDstYOff
Y offset to destination pixel coordinates for transformation.
Definition: gdalwarper.h:296
GDALResampleAlg eResample
Resampling algorithm.
Definition: gdalwarper.h:265
GDALResampleAlg
Definition: gdalwarper.h:48
Warp control options for use with GDALWarpOperation::Initialize()
Definition: gdalwarper.h:100
GDALProgressFunc pfnProgress
Definition: gdalwarper.h:149
Definition: gdalwarper.h:51
High level image warping class.
Definition: gdalwarper.h:326
void * pTransformerArg
Definition: gdalwarper.h:158
int nSrcYSize
Source image height in pixels.
Definition: gdalwarper.h:270
GDALProgressFunc pfnProgress
The function to call to report progress of the algorithm, and to check for a requested termination of...
Definition: gdalwarper.h:301
Definition: gdalwarper.h:50
int * panSrcBands
Definition: gdalwarper.h:124
int(* GDALTransformerFunc)(void *pTransformerArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Definition: gdal_alg.h:114
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:168
char ** papszWarpOptions
A string list of additional options controlling the warp operation in name=value format.
Definition: gdalwarper.h:102
int nDstYSize
Height of destination image in pixels.
Definition: gdalwarper.h:278
int nBands
Number of bands.
Definition: gdalwarper.h:267
CPLErr GDALChunkAndWarpImage(GDALWarpOperationH, int, int, int, int)
Definition: gdalwarpoperation.cpp:729
Definition: gdalwarper.h:49
Public (C callable) GDAL algorithm entry points, and definitions.
void * pTransformerArg
Callback data for pfnTransformer.
Definition: gdalwarper.h:299
int nSrcXSize
Source image width in pixels.
Definition: gdalwarper.h:269
GDALDatasetH hSrcDS
Definition: gdalwarper.h:115
int nBandCount
Definition: gdalwarper.h:121
float * pafDstDensity
Per pixel density mask for destination pixels.
Definition: gdalwarper.h:281
GDALDataType eWorkingDataType
Definition: gdalwarper.h:112
GDALTransformerFunc pfnTransformer
Source/destination location transformer.
Definition: gdalwarper.h:298
GDALDatasetH hDstDS
Definition: gdalwarper.h:118
Definition: gdalwarper.h:55
void * hCutline
Definition: gdalwarper.h:182
double dfCutlineBlendDist
Definition: gdalwarper.h:185
GDALDatasetH GDALAutoCreateWarpedVRT(GDALDatasetH hSrcDS, const char *pszSrcWKT, const char *pszDstWKT, GDALResampleAlg eResampleAlg, double dfMaxError, const GDALWarpOptions *psOptions)
Create virtual warped dataset automatically.
Definition: vrtwarped.cpp:87
double * padfSrcNoDataReal
Definition: gdalwarper.h:136
void * pProgress
Callback data for pfnProgress.
Definition: gdalwarper.h:302
int nSrcYOff
Y offset to source pixel coordinates for transformation.
Definition: gdalwarper.h:293
GDALWarpOperationH GDALCreateWarpOperation(const GDALWarpOptions *)
Definition: gdalwarpoperation.cpp:583
GByte ** papabyDstImage
Array of destination image band data.
Definition: gdalwarper.h:279
int nDstAlphaBand
Definition: gdalwarper.h:133
GUInt32 ** papanBandSrcValid
Per band validity mask for source pixels.
Definition: gdalwarper.h:273