211 Q_PROPERTY(
bool isGeographic READ isGeographic )
212 Q_PROPERTY( QString authid READ authid )
213 Q_PROPERTY( QString description READ description )
272 operator QVariant()
const
274 return QVariant::fromValue( *
this );
283 static QList< long > validSrsIds();
382 Q_DECL_DEPRECATED
bool createFromId(
long id, CrsType type = PostgisCrsId )
SIP_DEPRECATED;
399 bool createFromOgcWmsCrs(
const QString &
crs );
410 Q_DECL_DEPRECATED
bool createFromSrid(
long srid )
SIP_DEPRECATED;
427 bool createFromWkt(
const QString &wkt );
444 bool createFromSrsId(
long srsId );
472 Q_DECL_DEPRECATED
bool createFromProj4(
const QString &projString )
SIP_DEPRECATED;
504 bool createFromProj(
const QString &projString,
bool identify =
true );
506 bool createFromProj(
const QString &projString );
528 bool createFromString(
const QString &definition );
550 bool createFromUserInput(
const QString &definition );
565 bool isValid() const;
602 bool readXml( const QDomNode &node );
610 bool writeXml( QDomNode &node, QDomDocument &doc ) const;
639 long postgisSrid() const;
653 QString authid() const;
662 QString description() const;
677 QString userFriendlyIdentifier(
Qgis::CrsIdentifierType type =
Qgis::CrsIdentifierType::MediumString ) const;
685 QString projectionAcronym() const;
693 QString ellipsoidAcronym() const;
706 QString toWkt(
Qgis::CrsWktVariant variant =
Qgis::CrsWktVariant::Wkt1Gdal,
bool multiline = false,
int indentationWidth = 4 ) const;
734 QString toProj() const;
741 Qgis::CrsType type() const;
748 bool isDeprecated() const;
754 bool isGeographic() const;
764 bool isDynamic() const;
783 QString celestialBodyName() const;
808 void setCoordinateEpoch(
double epoch );
833 double coordinateEpoch() const;
871 QList< Qgis::CrsAxisDirection > axisOrdering()
const;
873 SIP_PYOBJECT axisOrdering() const
SIP_TYPEHINT( List[
Qgis.CrsAxisDirection] );
877 const QList<
Qgis::CrsAxisDirection > cppRes = sipCpp->axisOrdering();
879 PyObject *l = PyList_New( cppRes.size() );
885 for (
int i = 0; i < cppRes.size(); ++i )
887 PyObject *eobj = sipConvertFromEnum(
static_cast<int>( cppRes.at( i ) ),
888 sipType_Qgis_CrsAxisDirection );
895 PyList_SetItem( l, i, eobj );
932 QString toOgcUri()
const;
940 QString toOgcUrn()
const;
960 void updateDefinition();
965 void setValidationHint(
const QString &html );
970 QString validationHint()
const;
978 static int syncDatabase();
1060 bool hasVerticalAxis()
const;
1063 QString geographicCrsAuthId()
const;
1066 SIP_PYOBJECT __repr__();
1068 const QString str = sipCpp->isValid() ? QStringLiteral(
"<QgsCoordinateReferenceSystem: %1%2>" ).arg( !sipCpp->authid().isEmpty() ? sipCpp->authid() : sipCpp->toWkt(
Qgis::CrsWktVariant::Preferred ),
1069 std::isfinite( sipCpp->coordinateEpoch() ) ? QStringLiteral(
" @ %1" ).arg( sipCpp->coordinateEpoch() ) : QString() )
1070 : QStringLiteral(
"<QgsCoordinateReferenceSystem: invalid>" );
1071 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
1086 PJ *projObject()
const;
1108 bool createFromProjObject(
PJ *
object );
1117 Q_DECL_DEPRECATED
static QStringList recentProjections()
SIP_DEPRECATED;
1145 Q_DECL_DEPRECATED static
void clearRecentCoordinateReferenceSystems()
SIP_DEPRECATED;
1158 static void invalidateCache(
bool disableCache =
false );
1167 static void invalidateCache(
bool disableCache
SIP_PYARGREMOVE =
false );
1180 static QString projFromSrsId(
int srsId );
1187 void setProjString(
const QString &projString );
1192 bool setWktString(
const QString &wkt );
1200 typedef QMap<QString, QString> RecordMap;
1209 RecordMap getRecord(
const QString &sql );
1221 static long getRecordCount();
1228 bool loadFromAuthCode(
const QString &auth,
const QString &code );
1233 static QList< long > userSrsIds();
1242 long matchToUserCrs()
const;
1248 bool loadFromDatabase(
const QString &db,
const QString &expression,
const QString &value );
1250 bool createFromWktInternal(
const QString &wkt,
const QString &description );
1252 QExplicitlySharedDataPointer<QgsCoordinateReferenceSystemPrivate> d;
1254 QString mValidationHint;
1261 static void removeFromCacheObjectsBelongingToCurrentThread(
PJ_CONTEXT *pj_context );
1268 static bool sDisableSrIdCache;
1269 static bool sDisableOgcCache;
1270 static bool sDisableProjCache;
1271 static bool sDisableWktCache;
1272 static bool sDisableSrsIdCache;
1273 static bool sDisableStringCache;
1276 static const QHash< QString, QgsCoordinateReferenceSystem > &stringCache();
1277 static const QHash< QString, QgsCoordinateReferenceSystem > &projCache();
1278 static const QHash< QString, QgsCoordinateReferenceSystem > &ogcCache();
1279 static const QHash< QString, QgsCoordinateReferenceSystem > &wktCache();
1280 static const QHash< long, QgsCoordinateReferenceSystem > &srsIdCache();
1281 static const QHash< long, QgsCoordinateReferenceSystem > &srIdCache();
1283 friend class TestQgsCoordinateReferenceSystem;
1290 bool createFromPostgisSrid(
const long id );
1299 QString mySummary( QStringLiteral(
"\n\tSpatial Reference System:" ) );
1300 mySummary += QLatin1String(
"\n\t\tDescription : " );
1307 mySummary += QLatin1String(
"Undefined" );
1309 mySummary += QLatin1String(
"\n\t\tProjection : " );
1316 mySummary += QLatin1String(
"Undefined" );
1319 mySummary += QLatin1String(
"\n\t\tEllipsoid : " );
1326 mySummary += QLatin1String(
"Undefined" );
1329 mySummary += QLatin1String(
"\n\t\tProjString : " );
1330 if ( !r.
toProj().isNull() )
1336 mySummary += QLatin1String(
"Undefined" );
1339 return os << mySummary.toLocal8Bit().data() << std::endl;
Used to create and store a proj context object, correctly freeing the context upon destruction.