14#ifndef GDALGEOTRANSFORM_H_INCLUDED
15#define GDALGEOTRANSFORM_H_INCLUDED
71 "Wrong size for GDALGeoTransform");
82 double yorigIn,
double yrotIn,
double yscaleIn)
93 template <
typename T>
inline double operator[](T idx)
const
95 return *(&xorig + idx);
101 return *(&xorig + idx);
107 return xorig == other.
xorig && xscale == other.
xscale &&
108 xrot == other.
xrot && yorig == other.
yorig &&
115 return !(operator==(other));
119 inline const double *
data()
const
150 inline void Apply(
double dfPixel,
double dfLine,
double *pdfGeoX,
151 double *pdfGeoY)
const
189 inline std::pair<double, double>
Apply(
double dfPixel,
double dfLine)
const
191 double dfOutX, dfOutY;
193 return {dfOutX, dfOutY};
218 inline void Rescale(
double dfXRatio,
double dfYRatio)
230 return xrot == 0 && yrot == 0;
240 bool Init(
const char *pszGT,
const char *pszSep =
",");
248 std::string ToString(
const char *pszSep =
", ")
const;
A rectangular subset of pixels within a raster.
Definition gdal_rasterband.h:90
Simple container for a bounding region (rectangle)
Definition ogr_core.h:44
Public (C callable) GDAL entry points.
int GDALInvGeoTransform(const double *padfGeoTransformIn, double *padfInvGeoTransformOut)
Invert Geotransform.
Definition gdaltransformer.cpp:4562
void GDALApplyGeoTransform(const double *, double, double, double *, double *)
Apply GeoTransform to x/y coordinate.
Definition gdaltransformer.cpp:4536