QGIS API Documentation 3.41.0-Master (fda2aa46e9a)
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
75 void clear();
76
92 Q_DECL_DEPRECATED QMap< QPair< QString, QString>, QgsDatumTransform::TransformPair > sourceDestinationDatumTransforms() const SIP_DEPRECATED;
93
109 QMap< QPair< QString, QString>, QString > coordinateOperations() const;
110
125 Q_DECL_DEPRECATED bool addSourceDestinationDatumTransform( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs, int sourceTransformId, int destinationTransformId ) SIP_DEPRECATED;
126
158 bool addCoordinateOperation( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs, const QString &coordinateOperationProjString, bool allowFallback = true );
159
167 Q_DECL_DEPRECATED void removeSourceDestinationDatumTransform( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs ) SIP_DEPRECATED ;
168
174 void removeCoordinateOperation( const QgsCoordinateReferenceSystem &sourceCrs, const QgsCoordinateReferenceSystem &destinationCrs );
175
181 bool hasTransform( const QgsCoordinateReferenceSystem &source,
182 const QgsCoordinateReferenceSystem &destination ) const;
183
194 Q_DECL_DEPRECATED QgsDatumTransform::TransformPair calculateDatumTransforms( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const SIP_DEPRECATED;
195
215 QString calculateCoordinateOperation( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const;
216
226 bool allowFallbackTransform( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const;
227
234 bool mustReverseCoordinateOperation( const QgsCoordinateReferenceSystem &source, const QgsCoordinateReferenceSystem &destination ) const;
235
236 // TODO QGIS 4.0 - remove missingTransforms, not used for Proj >= 6.0 builds
237
246 bool readXml( const QDomElement &element, const QgsReadWriteContext &context, QStringList &missingTransforms SIP_OUT );
247
252 void writeXml( QDomElement &element, const QgsReadWriteContext &context ) const;
253
254
259 void readSettings();
260
265 void writeSettings();
266
267
268 private:
269
270 QExplicitlySharedDataPointer<QgsCoordinateTransformContextPrivate> d;
271
272};
273
275
276#endif // QGSCOORDINATETRANSFORMCONTEXT_H
277
278
279
280
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)
Contains datum transform information.