QGIS API Documentation
2.6.0-Brighton
|
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 () |
initialise is used to actually create the Transformer instance | |
bool | readXML (QDomNode &theNode) |
bool | writeXML (QDomNode &theNode, QDomDocument &theDoc) |
Signals | |
void | invalidTransformInput () const |
Signal when an invalid pj_transform() has occured. |
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. | |
static QString | datumTransformString (int datumTransform) |
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) |
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.
QgsCoordinateTransform::QgsCoordinateTransform | ( | ) |
Default constructor. Make sure you use initialised() manually if you use this one!
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 |
QgsCoordinateTransform::QgsCoordinateTransform | ( | long | theSourceSrsId, |
long | theDestSrsId | ||
) |
Constructs a QgsCoordinateTransform using CRS ID of source and destination CRS.
QgsCoordinateTransform::QgsCoordinateTransform | ( | QString | theSourceWkt, |
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 |
QgsCoordinateTransform::QgsCoordinateTransform | ( | long | theSourceSrid, |
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 |
QgsCoordinateTransform::~QgsCoordinateTransform | ( | ) |
destructor
QgsCoordinateTransform * QgsCoordinateTransform::clone | ( | ) | const |
|
static |
Returns list of datum transformations for the given src and dest CRS.
|
static |
Gets name of source and dest geographical CRS (to show in a tooltip)
|
static |
|
inline |
Get the QgsCoordinateReferenceSystem representation of the map canvas coordinate system
|
inline |
|
slot |
initialise is used to actually create the Transformer instance
|
signal |
Signal when an invalid pj_transform() has occured.
|
inline |
Flag to indicate whether the coordinate systems have been initialised
|
inline |
See if the transform short circuits because src and dest are equivalent
|
slot |
Restores state from the given Dom node.
theNode | The node from which state will be restored |
void QgsCoordinateTransform::setDestCRS | ( | const QgsCoordinateReferenceSystem & | theCRS | ) |
Mutator for dest QgsCoordinateReferenceSystem
theCRS | of the destination coordinate system |
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
|
inline |
void QgsCoordinateTransform::setSourceCrs | ( | const QgsCoordinateReferenceSystem & | theCRS | ) |
Set the source (layer) QgsCoordinateReferenceSystem
theCRS | QgsCoordinateReferenceSystem representation of the layer's coordinate system |
|
inline |
|
inline |
Get the QgsCoordinateReferenceSystem representation of the layer's coordinate system
|
inline |
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) |
QgsPoint QgsCoordinateTransform::transform | ( | const double | x, |
const double | y = 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) |
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) |
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 |
void QgsCoordinateTransform::transformCoords | ( | const 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) |
void QgsCoordinateTransform::transformInPlace | ( | double & | x, |
double & | y, | ||
double & | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
void QgsCoordinateTransform::transformInPlace | ( | QVector< double > & | x, |
QVector< double > & | y, | ||
QVector< double > & | z, | ||
TransformDirection | direction = ForwardTransform |
||
) | const |
void QgsCoordinateTransform::transformPolygon | ( | QPolygonF & | poly, |
TransformDirection | direction = ForwardTransform |
||
) | const |
|
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 |