QGIS API Documentation 3.41.0-Master (cea29feecf2)
Loading...
Searching...
No Matches
qgscoordinatetransformcontext.h
Go to the documentation of this file.
1/***************************************************************************
2 qgscoordinatetransformcontext.h
3 -------------------------------
4 begin : November 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18#ifndef QGSCOORDINATETRANSFORMCONTEXT_H
19#define QGSCOORDINATETRANSFORMCONTEXT_H
20
21#include "qgis_core.h"
22#include "qgis_sip.h"
23#include "qgsdatumtransform.h"
24
25#include <QMetaType>
26#include <QExplicitlySharedDataPointer>
29class QgsCoordinateTransformContextPrivate;
30class QDomElement;
31
32/***************************************************************************
33 * This class is considered CRITICAL and any change MUST be accompanied with
34 * full unit tests in testqgsfeature.cpp.
35 * See details in QEP #17
36 ****************************************************************************/
37
57{
58 public:
59
64
66
69
70 bool operator==( const QgsCoordinateTransformContext &rhs ) const;
71 bool operator!=( const QgsCoordinateTransformContext &rhs ) const;
72
76 void clear();
77
93 Q_DECL_DEPRECATED QMap< QPair< QString, QString>, QgsDatumTransform::TransformPair > sourceDestinationDatumTransforms() const SIP_DEPRECATED;
94
110 QMap< QPair< QString, QString>, QString > coordinateOperations() const;
111
126 Q_DECL_DEPRECATED bool addSourceDestinationDatumTransform( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs, int sourceTransformId, int destinationTransformId ) SIP_DEPRECATED;
127
159 bool addCoordinateOperation( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs, const QString &coordinateOperationProjString, bool allowFallback = true );
160
168 Q_DECL_DEPRECATED void removeSourceDestinationDatumTransform( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs ) SIP_DEPRECATED ;
169
175 void removeCoordinateOperation( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs );
176
182 bool hasTransform( const QgsCoordinateReferenceSystem &source,
183 const QgsCoordinateReferenceSystem &destination ) const;
184
195 Q_DECL_DEPRECATED QgsDatumTransform::TransformPair calculateDatumTransforms( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const SIP_DEPRECATED;
196
216 QString calculateCoordinateOperation( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const;
217
227 bool allowFallbackTransform( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const;
228
235 bool mustReverseCoordinateOperation( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const;
236
237 // TODO QGIS 4.0 - remove missingTransforms, not used for Proj >= 6.0 builds
238
247 bool readXml( const QDomElement &element, const QgsReadWriteContext &context, QStringList &missingTransforms SIP_OUT );
248
253 void writeXml( QDomElement &element, const QgsReadWriteContext &context ) const;
254
255
260 void readSettings();
261
266 void writeSettings();
267
268
269 private:
270
271 QExplicitlySharedDataPointer<QgsCoordinateTransformContextPrivate> d;
272
273};
274
276
277#endif // QGSCOORDINATETRANSFORMCONTEXT_H
278
279
280
281
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Contains methods and classes relating the datum transformations.
The class is used as a container of context for various read/write operations on other objects.
#define SIP_DEPRECATED
Definition qgis_sip.h:106
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_OUT
Definition qgis_sip.h:58
Q_DECLARE_METATYPE(QgsDatabaseQueryLogEntry)
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
Contains datum transform information.