17 #ifndef QGSCOORDINATETRANSFORM_H
18 #define QGSCOORDINATETRANSFORM_H
131 QgsPoint transform(
const QgsPoint p, TransformDirection direction = ForwardTransform )
const;
141 QgsPoint transform(
const double x,
const double y, TransformDirection direction = ForwardTransform )
const;
153 QgsRectangle transformBoundingBox(
const QgsRectangle theRect, TransformDirection direction = ForwardTransform )
const;
158 void transformInPlace(
double& x,
double& y,
double &z, TransformDirection direction = ForwardTransform )
const;
161 void transformInPlace( QVector<double>& x, QVector<double>& y, QVector<double>& z,
162 TransformDirection direction = ForwardTransform )
const;
164 void transformPolygon( QPolygonF& poly, TransformDirection direction = ForwardTransform )
const;
167 void transformInPlace(
float& x,
float& y,
float& z, TransformDirection direction = ForwardTransform )
const;
169 void transformInPlace( QVector<float>& x, QVector<float>& y, QVector<float>& z,
170 TransformDirection direction = ForwardTransform )
const;
192 void transformCoords(
const int &numPoint,
double *x,
double *y,
double *z, TransformDirection direction = ForwardTransform )
const;
214 void setDestCRSID(
long theCRSID );
220 static QString datumTransformString(
int datumTransform );
223 static bool datumTransformCrsInfo(
int datumTransform,
int& epsgNr, QString& srcProjection, QString& dstProjection, QString &remarks, QString &scope,
bool &preferred,
bool &deprecated );
238 bool readXML( QDomNode & theNode );
245 bool writeXML( QDomNode & theNode, QDomDocument & theDoc );
249 void invalidTransformInput()
const;
293 static QString stripDatumTransform(
const QString& proj4 );
294 static void searchDatumTransform(
const QString& sql, QList< int >& transforms );
296 void addNullGridShifts( QString& srcProjString, QString& destProjString );
302 QString mySummary(
"\n%%%%%%%%%%%%%%%%%%%%%%%%\nCoordinate Transform def begins:" );
303 mySummary +=
"\n\tInitialised? : ";
319 mySummary +=
"\n\tShort Circuit? : " ;
329 mySummary +=
"\n\tSource Spatial Ref Sys : ";
336 mySummary +=
"Undefined" ;
339 mySummary +=
"\n\tDest Spatial Ref Sys : " ;
346 mySummary +=
"Undefined" ;
350 mySummary += (
"\nCoordinate Transform def ends \n%%%%%%%%%%%%%%%%%%%%%%%%\n" );
351 return os << mySummary.toLocal8Bit().data() << std::endl;
355 #endif // QGSCOORDINATETRANSFORM_H