QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
|
Class for doing transforms between two map coordinate systems. More...
#include <qgscoordinatetransform.h>
Public Types | |
enum | TransformDirection { ForwardTransform, ReverseTransform } |
Enum used to indicate the direction (forward or inverse) of the transform. More... | |
Public Slots | |
void | initialise () |
initialize is used to actually create the Transformer instance More... | |
bool | readXML (QDomNode &theNode) |
Restores state from the given Dom node. More... | |
bool | writeXML (QDomNode &theNode, QDomDocument &theDoc) |
Stores state to the given Dom node in the given document. More... | |
Signals | |
void | invalidTransformInput () const |
Signal when an invalid pj_transform() has occurred. More... | |
Public Member Functions | |
QgsCoordinateTransform () | |
Default constructor. More... | |
QgsCoordinateTransform (const QgsCoordinateReferenceSystem &theSource, const QgsCoordinateReferenceSystem &theDest) | |
Constructs a QgsCoordinateTransform using QgsCoordinateReferenceSystem objects. More... | |
QgsCoordinateTransform (long theSourceSrsId, long theDestSrsId) | |
Constructs a QgsCoordinateTransform using CRS ID of source and destination CRS. More... | |
QgsCoordinateTransform (const QString &theSourceWkt, const QString &theDestWkt) | |
QgsCoordinateTransform (long theSourceSrid, const QString &theDestWkt, QgsCoordinateReferenceSystem::CrsType theSourceCRSType=QgsCoordinateReferenceSystem::PostgisCrsId) | |
~QgsCoordinateTransform () | |
destructor More... | |
QgsCoordinateTransform * | clone () const |
const QgsCoordinateReferenceSystem & | destCRS () const |
int | destinationDatumTransform () const |
bool | isInitialised () const |
bool | isShortCircuited () const |
See if the transform short circuits because src and dest are equivalent. More... | |
void | setDestCRS (const QgsCoordinateReferenceSystem &theCRS) |
void | setDestCRSID (long theCRSID) |
Change the destination coordinate system by passing it a qgis srsid A QGIS srsid is a unique key value to an entry on the tbl_srs in the srs.db sqlite database. More... | |
void | setDestinationDatumTransform (int dt) |
void | setSourceCrs (const QgsCoordinateReferenceSystem &theCRS) |
void | setSourceDatumTransform (int dt) |
const QgsCoordinateReferenceSystem & | sourceCrs () const |
int | sourceDatumTransform () const |
QgsPoint | transform (const QgsPoint &p, TransformDirection direction=ForwardTransform) const |
Transform the point from Source Coordinate System to Destination Coordinate System If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS. More... | |
QgsPoint | transform (const double x, const double y, TransformDirection direction=ForwardTransform) const |
Transform the point specified by x,y from Source Coordinate System to Destination Coordinate System If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS. More... | |
QgsRectangle | transform (const QgsRectangle &theRect, TransformDirection direction=ForwardTransform) const |
Transform a QgsRectangle to the dest Coordinate system If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS. More... | |
QgsRectangle | transformBoundingBox (const QgsRectangle &theRect, TransformDirection direction=ForwardTransform, const bool handle180Crossover=false) const |
Transform a QgsRectangle to the dest Coordinate system If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS. More... | |
void | transformCoords (int numPoint, double *x, double *y, double *z, TransformDirection direction=ForwardTransform) const |
Transform an array of coordinates to a different Coordinate System If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS. More... | |
void | transformInPlace (double &x, double &y, double &z, TransformDirection direction=ForwardTransform) const |
void | transformInPlace (float &x, float &y, double &z, TransformDirection direction=ForwardTransform) const |
void | transformInPlace (float &x, float &y, float &z, TransformDirection direction=ForwardTransform) const |
void | transformInPlace (QVector< float > &x, QVector< float > &y, QVector< float > &z, TransformDirection direction=ForwardTransform) const |
void | transformInPlace (QVector< double > &x, QVector< double > &y, QVector< double > &z, TransformDirection direction=ForwardTransform) const |
void | transformPolygon (QPolygonF &poly, TransformDirection direction=ForwardTransform) const |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QObject (QObject *parent, const char *name) | |
virtual | ~QObject () |
bool | blockSignals (bool block) |
QObject * | child (const char *objName, const char *inheritsClass, bool recursiveSearch) const |
const QObjectList & | children () const |
const char * | className () const |
bool | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const QObject *receiver, const char *method) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) |
void | dumpObjectInfo () |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name) const |
QList< T > | findChildren (const QRegExp ®Exp) const |
QList< T > | findChildren (const QString &name) const |
bool | inherits (const char *className) const |
void | insertChild (QObject *object) |
void | installEventFilter (QObject *filterObj) |
bool | isA (const char *className) const |
bool | isWidgetType () const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
const char * | name () const |
const char * | name (const char *defaultName) const |
QString | objectName () const |
QObject * | parent () const |
QVariant | property (const char *name) const |
void | removeChild (QObject *object) |
void | removeEventFilter (QObject *obj) |
void | setName (const char *name) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const |
int | startTimer (int interval) |
QThread * | thread () const |
Static Public Member Functions | |
static QList< QList< int > > | datumTransformations (const QgsCoordinateReferenceSystem &srcCRS, const QgsCoordinateReferenceSystem &destCRS) |
Returns list of datum transformations for the given src and dest CRS. More... | |
static bool | datumTransformCrsInfo (int datumTransform, int &epsgNr, QString &srcProjection, QString &dstProjection, QString &remarks, QString &scope, bool &preferred, bool &deprecated) |
Gets name of source and dest geographical CRS (to show in a tooltip) More... | |
static QString | datumTransformString (int datumTransform) |
Static Public Member Functions inherited from QObject | |
bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
Additional Inherited Members | |
Protected Member Functions inherited from QObject | |
bool | checkConnectArgs (const char *signal, const QObject *object, const char *method) |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const char *signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const char *signal) |
int | receivers (const char *signal) const |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
Static Protected Member Functions inherited from QObject | |
QByteArray | normalizeSignalSlot (const char *signalSlot) |
Properties inherited from QObject | |
objectName | |
Class for doing transforms between two map coordinate systems.
This class can convert map coordinates to a different coordinate reference system. It is normally associated with a map layer and is used to transform between the layer's coordinate system and the coordinate system of the map canvas, although it can be used in a more general sense to transform coordinates.
All references to source and destination coordinate systems refer to layer and map canvas respectively. All operations are from the perspective of the layer. For example, a forward transformation transforms coordinates from the layers coordinate system to the map canvas.
Definition at line 55 of file qgscoordinatetransform.h.
Enum used to indicate the direction (forward or inverse) of the transform.
Enumerator | |
---|---|
ForwardTransform | Transform from source to destination CRS. |
ReverseTransform | Transform from destination to source CRS. |
Definition at line 97 of file qgscoordinatetransform.h.
QgsCoordinateTransform::QgsCoordinateTransform | ( | ) |
Default constructor.
Make sure you use initialized() manually if you use this one!
Definition at line 42 of file qgscoordinatetransform.cpp.
QgsCoordinateTransform::QgsCoordinateTransform | ( | const QgsCoordinateReferenceSystem & | theSource, |
const QgsCoordinateReferenceSystem & | theDest | ||
) |
Constructs a QgsCoordinateTransform using QgsCoordinateReferenceSystem objects.
theSource | CRS, typically of the layer's coordinate system |
theDest | CRS, typically of the map canvas coordinate system |
Definition at line 52 of file qgscoordinatetransform.cpp.
QgsCoordinateTransform::QgsCoordinateTransform | ( | long | theSourceSrsId, |
long | theDestSrsId | ||
) |
Constructs a QgsCoordinateTransform using CRS ID of source and destination CRS.
Definition at line 65 of file qgscoordinatetransform.cpp.
QgsCoordinateTransform::QgsCoordinateTransform | ( | const QString & | theSourceWkt, |
const QString & | theDestWkt | ||
) |
Constructs a QgsCoordinateTransform using the Well Known Text representation of the layer and map canvas coordinate systems
theSourceWkt | Wkt, typically of the layer's coordinate system |
theDestWkt | Wkt, typically of the map canvas coordinate system |
Definition at line 76 of file qgscoordinatetransform.cpp.
QgsCoordinateTransform::QgsCoordinateTransform | ( | long | theSourceSrid, |
const QString & | theDestWkt, | ||
QgsCoordinateReferenceSystem::CrsType | theSourceCRSType = QgsCoordinateReferenceSystem::PostgisCrsId |
||
) |
Constructs a QgsCoordinateTransform using a Spatial Reference Id of the layer and map canvas coordinate system as Wkt
theSourceSrid | Spatial Ref Id of the layer's coordinate system |
theDestWkt | Wkt of the map canvas coordinate system |
theSourceCRSType | On of the enum members defined in QgsCoordinateReferenceSystem::CrsType |
Definition at line 92 of file qgscoordinatetransform.cpp.
QgsCoordinateTransform::~QgsCoordinateTransform | ( | ) |
destructor
Definition at line 111 of file qgscoordinatetransform.cpp.
QgsCoordinateTransform * QgsCoordinateTransform::clone | ( | ) | const |
Definition at line 116 of file qgscoordinatetransform.cpp.
|
static |
Returns list of datum transformations for the given src and dest CRS.
Definition at line 800 of file qgscoordinatetransform.cpp.
|
static |
Gets name of source and dest geographical CRS (to show in a tooltip)
Definition at line 973 of file qgscoordinatetransform.cpp.
|
static |
Definition at line 917 of file qgscoordinatetransform.cpp.
|
inline |
Get the QgsCoordinateReferenceSystem representation of the map canvas coordinate system
Definition at line 125 of file qgscoordinatetransform.h.
|
inline |
Definition at line 233 of file qgscoordinatetransform.h.
|
slot |
initialize is used to actually create the Transformer instance
Definition at line 145 of file qgscoordinatetransform.cpp.
|
signal |
Signal when an invalid pj_transform() has occurred.
|
inline |
Flag to indicate whether the coordinate systems have been initialized
Definition at line 204 of file qgscoordinatetransform.h.
|
inline |
See if the transform short circuits because src and dest are equivalent.
Definition at line 209 of file qgscoordinatetransform.h.
|
slot |
Restores state from the given Dom node.
theNode | The node from which state will be restored |
Definition at line 733 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::setDestCRS | ( | const QgsCoordinateReferenceSystem & | theCRS | ) |
Mutator for dest QgsCoordinateReferenceSystem
theCRS | of the destination coordinate system |
Definition at line 130 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::setDestCRSID | ( | long | theCRSID | ) |
Change the destination coordinate system by passing it a qgis srsid A QGIS srsid is a unique key value to an entry on the tbl_srs in the srs.db sqlite database.
theCRSID | - A long representing the srsid of the srs to be used |
todo Add some logic here to determine if the srsid is a system or user one
Definition at line 136 of file qgscoordinatetransform.cpp.
|
inline |
Definition at line 234 of file qgscoordinatetransform.h.
void QgsCoordinateTransform::setSourceCrs | ( | const QgsCoordinateReferenceSystem & | theCRS | ) |
Set the source (layer) QgsCoordinateReferenceSystem
theCRS | QgsCoordinateReferenceSystem representation of the layer's coordinate system |
Definition at line 125 of file qgscoordinatetransform.cpp.
|
inline |
Definition at line 232 of file qgscoordinatetransform.h.
|
inline |
Get the QgsCoordinateReferenceSystem representation of the layer's coordinate system
Definition at line 119 of file qgscoordinatetransform.h.
|
inline |
Definition at line 231 of file qgscoordinatetransform.h.
QgsPoint QgsCoordinateTransform::transform | ( | const QgsPoint & | p, |
TransformDirection | direction = ForwardTransform |
||
) | const |
Transform the point from Source Coordinate System to Destination Coordinate System If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS.
p | Point to transform |
direction | TransformDirection (defaults to ForwardTransform) |
Definition at line 260 of file qgscoordinatetransform.cpp.
QgsPoint QgsCoordinateTransform::transform | ( | const double | x, |
const double | y = 0.0 , |
||
TransformDirection | direction = ForwardTransform |
||
) | const |
Transform the point specified by x,y from Source Coordinate System to Destination Coordinate System If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS.
x | x cordinate of point to transform |
y | y coordinate of point to transform |
direction | TransformDirection (defaults to ForwardTransform) |
Definition at line 283 of file qgscoordinatetransform.cpp.
QgsRectangle QgsCoordinateTransform::transform | ( | const QgsRectangle & | theRect, |
TransformDirection | direction = ForwardTransform |
||
) | const |
Transform a QgsRectangle to the dest Coordinate system If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS.
theRect | rect to transform |
direction | TransformDirection (defaults to ForwardTransform) |
Definition at line 297 of file qgscoordinatetransform.cpp.
QgsRectangle QgsCoordinateTransform::transformBoundingBox | ( | const QgsRectangle & | theRect, |
TransformDirection | direction = ForwardTransform , |
||
const bool | handle180Crossover = false |
||
) | const |
Transform a QgsRectangle to the dest Coordinate system If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS.
It assumes that rect is a bounding box, and creates a bounding box in the proejcted CS, so that all points in source rectangle is within returned rectangle.
theRect | rect to transform |
direction | TransformDirection (defaults to ForwardTransform) |
handle180Crossover | set to true if destination crs is geographic and handling of extents crossing the 180 degree longitude line is required |
Definition at line 503 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::transformCoords | ( | int | numPoint, |
double * | x, | ||
double * | y, | ||
double * | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
Transform an array of coordinates to a different Coordinate System If the direction is ForwardTransform then coordinates are transformed from layer CS –> map canvas CS, otherwise points are transformed from map canvas CS to layerCS.
numPoint | number of coordinates in arrays |
x | array of x coordinates to transform |
y | array of y coordinates to transform |
z | array of z coordinates to transform |
direction | TransformDirection (defaults to ForwardTransform) |
Definition at line 617 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::transformInPlace | ( | double & | x, |
double & | y, | ||
double & | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
Definition at line 333 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::transformInPlace | ( | float & | x, |
float & | y, | ||
double & | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
Definition at line 354 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::transformInPlace | ( | float & | x, |
float & | y, | ||
float & | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
Definition at line 363 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::transformInPlace | ( | QVector< float > & | x, |
QVector< float > & | y, | ||
QVector< float > & | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
Definition at line 458 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::transformInPlace | ( | QVector< double > & | x, |
QVector< double > & | y, | ||
QVector< double > & | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
Definition at line 431 of file qgscoordinatetransform.cpp.
void QgsCoordinateTransform::transformPolygon | ( | QPolygonF & | poly, |
TransformDirection | direction = ForwardTransform |
||
) | const |
Definition at line 390 of file qgscoordinatetransform.cpp.
|
slot |
Stores state to the given Dom node in the given document.
theNode | The node in which state will be restored |
theDoc | The document in which state will be stored |
Definition at line 752 of file qgscoordinatetransform.cpp.