17#ifndef QGSCOORDINATETRANSFORM_H
18#define QGSCOORDINATETRANSFORM_H
27#include <QExplicitlySharedDataPointer>
30using namespace Qt::StringLiterals;
32class QgsCoordinateTransformPrivate;
326 void transformInPlace( QVector<float> &x, QVector<float> &y, QVector<float> &z,
342 void transformInPlace( QVector<double> &x, QVector<double> &y, QVector<double> &z,
621 SIP_PYOBJECT __repr__();
623 QString str = u
"<QgsCoordinateTransform: %1 to %2>"_s.arg( sipCpp->sourceCrs().isValid() ? sipCpp->sourceCrs().authid() : u
"NULL"_s,
624 sipCpp->destinationCrs().isValid() ? sipCpp->destinationCrs().authid() : u
"NULL"_s );
625 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
682 const QString &error )> &handler );
709 const QString &desiredOperation )> &handler );
728 static void removeFromCacheObjectsBelongingToCurrentThread(
void *pj_context );
731 mutable QExplicitlySharedDataPointer<QgsCoordinateTransformPrivate> d;
737 bool mHasContext =
false;
740 mutable QString mLastError;
741 bool mIgnoreImpossible =
false;
742 bool mBallparkTransformsAreAppropriate =
false;
743 bool mDisableFallbackHandler =
false;
744 mutable bool mFallbackOperationOccurred =
false;
748 const QString &coordinateOperationProj,
bool allowFallback );
753 static QReadWriteLock sCacheLock;
763 static bool sDisableCache;
768 const QString &desiredOperation )> sFallbackOperationOccurredHandler;
778 QString mySummary( u
"\n%%%%%%%%%%%%%%%%%%%%%%%%\nCoordinate Transform def begins:"_s );
779 mySummary +=
"\n\tInitialized? : "_L1;
795 mySummary +=
"\n\tShort Circuit? : ";
805 mySummary +=
"\n\tSource Spatial Ref Sys : ";
812 mySummary +=
"Undefined";
815 mySummary +=
"\n\tDest Spatial Ref Sys : ";
818 mySummary << r.destCRS();
822 mySummary +=
"Undefined";
826 mySummary +=
"\nCoordinate Transform def ends \n%%%%%%%%%%%%%%%%%%%%%%%%\n"_L1;
827 return os << mySummary.toLocal8Bit().data() << std::endl;
QFlags< CoordinateTransformationFlag > CoordinateTransformationFlags
Coordinate transformation flags.
TransformDirection
Indicates the direction (forward or inverse) of a transform.
@ Forward
Forward transform (from source to destination).
Represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Custom exception class for Coordinate Reference System related exceptions.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A rectangle specified with double values.
A 3D vector (similar to QVector3D) with the difference that it uses double precision instead of singl...
#define SIP_THROW(name,...)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)