QGIS API Documentation 4.1.0-Master (60fea48833c)
Loading...
Searching...
No Matches
qgsdatums.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsdatums.h
3 ------------------------
4 begin : May 2021
5 copyright : (C) 2021 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#ifndef QGSDATUMS_H
18#define QGSDATUMS_H
19
20#include "qgis_core.h"
21#include "qgis_sip.h"
22#include "qgsrectangle.h"
23
24#include <QList>
25#include <QString>
26
27using namespace Qt::StringLiterals;
28
36class CORE_EXPORT QgsDatumEnsembleMember
37{
38 public:
42 QString name() const { return mName; }
43
47 QString scope() const { return mScope; }
48
52 QString remarks() const { return mRemarks; }
53
57 QString authority() const { return mAuthority; }
58
62 QString code() const { return mCode; }
63
64#ifdef SIP_RUN
65 // clang-format off
66 SIP_PYOBJECT __repr__();
67 % MethodCode
68 QString id;
69 if ( !sipCpp->code().isEmpty() )
70 id = u"%1 (%2:%3)"_s.arg( sipCpp->name(), sipCpp->authority(), sipCpp->code() );
71 else
72 id = sipCpp->name();
73 QString str = u"<QgsDatumEnsembleMember: %1>"_s.arg( id );
74 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
75 % End
76// clang-format on
77#endif
78
79 // clang-format off
80 private:
81 // clang-format on
82
83 QString mName;
84 QString mScope;
85 QString mRemarks;
86 QString mAuthority;
87 QString mCode;
88
90};
91
99class CORE_EXPORT QgsDatumEnsemble
100{
101 public:
106 bool isValid() const { return mValid; }
107
111 QString name() const { return mName; }
112
116 double accuracy() const { return mAccuracy; }
117
121 QString authority() const { return mAuthority; }
122
126 QString code() const { return mCode; }
127
131 QString scope() const { return mScope; }
132
136 QString remarks() const { return mRemarks; }
137
141 QList< QgsDatumEnsembleMember > members() const { return mMembers; }
142
143#ifdef SIP_RUN
144 // clang-format off
145 SIP_PYOBJECT __repr__();
146 % MethodCode
147 QString str;
148 if ( !sipCpp->isValid() )
149 {
150 str = u"<QgsDatumEnsemble: invalid>"_s;
151 }
152 else
153 {
154 QString id;
155 if ( !sipCpp->code().isEmpty() )
156 id = u"%1 (%2:%3)"_s.arg( sipCpp->name(), sipCpp->authority(), sipCpp->code() );
157 else
158 id = sipCpp->name();
159 str = u"<QgsDatumEnsemble: %1>"_s.arg( id );
160 }
161 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
162 % End
163// clang-format on
164#endif
165
166 // clang-format off
167 private:
168 // clang-format on
169
170 bool mValid
171 = false;
172 QString mName;
173 double mAccuracy = 0;
174 QString mAuthority;
175 QString mCode;
176 QString mScope;
177 QString mRemarks;
178 QList< QgsDatumEnsembleMember > mMembers;
179
181};
182
183#endif // QGSDATUMS_H
Contains information about a member of a datum ensemble.
Definition qgsdatums.h:37
QString authority() const
Authority name, e.g.
Definition qgsdatums.h:57
friend class QgsCoordinateReferenceSystem
Definition qgsdatums.h:89
QString scope() const
Returns the scope of operation, from EPSG registry database.
Definition qgsdatums.h:47
QString remarks() const
Remarks for operation, from EPSG registry database.
Definition qgsdatums.h:52
QString name() const
Returns the name of the member.
Definition qgsdatums.h:42
QString code() const
Authority code, e.g.
Definition qgsdatums.h:62
Contains information about a datum ensemble.
Definition qgsdatums.h:100
QString code() const
Identification code, e.g.
Definition qgsdatums.h:126
QString authority() const
Authority name, e.g.
Definition qgsdatums.h:121
QString scope() const
Scope of ensemble, from EPSG registry database.
Definition qgsdatums.h:131
friend class QgsCoordinateReferenceSystem
Definition qgsdatums.h:180
bool isValid() const
Returns true if the datum ensemble is a valid object, or false if it is a null/invalid object.
Definition qgsdatums.h:106
QList< QgsDatumEnsembleMember > members() const
Contains a list of members of the ensemble.
Definition qgsdatums.h:141
QString name() const
Display name of datum ensemble.
Definition qgsdatums.h:111
QString remarks() const
Remarks for ensemble, from EPSG registry database.
Definition qgsdatums.h:136
double accuracy() const
Positional accuracy (in meters).
Definition qgsdatums.h:116