278 operator QVariant()
const
280 return QVariant::fromValue( *
this );
289 static QList< long > validSrsIds();
405 Q_DECL_DEPRECATED
bool createFromId(
long id, CrsType type = PostgisCrsId )
SIP_DEPRECATED;
422 bool createFromOgcWmsCrs(
const QString &crs );
433 Q_DECL_DEPRECATED
bool createFromSrid(
long srid )
SIP_DEPRECATED;
450 bool createFromWkt(
const QString &wkt );
467 bool createFromSrsId(
long srsId );
495 Q_DECL_DEPRECATED
bool createFromProj4(
const QString &projString )
SIP_DEPRECATED;
527 bool createFromProj(
const QString &projString,
bool identify =
true );
529 bool createFromProj(
const QString &projString );
551 bool createFromString(
const QString &definition );
573 bool createFromUserInput(
const QString &definition );
588 bool isValid() const;
625 bool readXml( const QDomNode &node );
633 bool writeXml( QDomNode &node, QDomDocument &doc ) const;
662 long postgisSrid() const;
676 QString authid() const;
685 QString description() const;
700 QString userFriendlyIdentifier(
Qgis::CrsIdentifierType type =
Qgis::CrsIdentifierType::MediumString ) const;
708 QString projectionAcronym() const;
716 QString ellipsoidAcronym() const;
729 QString toWkt(
Qgis::CrsWktVariant variant =
Qgis::CrsWktVariant::Wkt1Gdal,
bool multiline = false,
int indentationWidth = 4 ) const;
757 QString toProj() const;
770 std::
string toJsonString(
bool multiline = false,
int indentationWidth = 4, const QString &schema = QString() ) const;
777 Qgis::CrsType type() const;
784 bool isDeprecated() const;
790 bool isGeographic() const;
800 bool isDynamic() const;
819 QString celestialBodyName() const;
844 void setCoordinateEpoch(
double epoch );
869 double coordinateEpoch() const;
899 bool hasAxisInverted() const;
907 QList< Qgis::CrsAxisDirection > axisOrdering()
const;
909 SIP_PYOBJECT axisOrdering() const
SIP_TYPEHINT( List[
Qgis.CrsAxisDirection] );
913 const QList<
Qgis::CrsAxisDirection > cppRes = sipCpp->axisOrdering();
915 PyObject *l = PyList_New( cppRes.size() );
921 for (
int i = 0; i < cppRes.size(); ++i )
923 PyObject *eobj = sipConvertFromEnum(
static_cast<int>( cppRes.at( i ) ),
924 sipType_Qgis_CrsAxisDirection );
931 PyList_SetItem( l, i, eobj );
960 QgsRectangle bounds()
const;
968 QString toOgcUri()
const;
976 QString toOgcUrn()
const;
996 void updateDefinition();
1001 void setValidationHint(
const QString &html );
1006 QString validationHint()
const;
1014 static int syncDatabase();
1062 QgsCoordinateReferenceSystem toGeographicCrs()
const;
1075 QgsCoordinateReferenceSystem toGeocentricCrs()
const;
1087 QgsCoordinateReferenceSystem horizontalCrs()
const;
1101 QgsCoordinateReferenceSystem verticalCrs()
const;
1109 bool hasVerticalAxis()
const;
1112 QString geographicCrsAuthId()
const;
1115 SIP_PYOBJECT __repr__();
1117 const QString str = sipCpp->isValid() ? QStringLiteral(
"<QgsCoordinateReferenceSystem: %1%2>" ).arg( !sipCpp->authid().isEmpty() ? sipCpp->authid() : sipCpp->toWkt(
Qgis::CrsWktVariant::Preferred ),
1118 std::isfinite( sipCpp->coordinateEpoch() ) ? QStringLiteral(
" @ %1" ).arg( sipCpp->coordinateEpoch() ) : QString() )
1119 : QStringLiteral(
"<QgsCoordinateReferenceSystem: invalid>" );
1120 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
1135 PJ *projObject()
const;
1147 static QgsCoordinateReferenceSystem fromProjObject(
PJ *
object );
1157 bool createFromProjObject(
PJ *
object );
1166 Q_DECL_DEPRECATED
static QStringList recentProjections()
SIP_DEPRECATED;
1173 Q_DECL_DEPRECATED static QList< QgsCoordinateReferenceSystem > recentCoordinateReferenceSystems()
SIP_DEPRECATED;
1180 Q_DECL_DEPRECATED static
void pushRecentCoordinateReferenceSystem( const QgsCoordinateReferenceSystem &crs )
SIP_DEPRECATED;
1187 Q_DECL_DEPRECATED static
void removeRecentCoordinateReferenceSystem( const QgsCoordinateReferenceSystem &crs )
SIP_DEPRECATED;
1194 Q_DECL_DEPRECATED static
void clearRecentCoordinateReferenceSystems()
SIP_DEPRECATED;
1207 static void invalidateCache(
bool disableCache =
false );
1216 static void invalidateCache(
bool disableCache
SIP_PYARGREMOVE =
false );
1229 static QString projFromSrsId(
int srsId );
1236 void setProjString(
const QString &projString );
1241 bool setWktString(
const QString &wkt );
1249 typedef QMap<QString, QString> RecordMap;
1258 RecordMap getRecord(
const QString &sql );
1264 static int openDatabase(
const QString &path, sqlite3_database_unique_ptr &database,
bool readonly =
true );
1270 static long getRecordCount();
1277 bool loadFromAuthCode(
const QString &auth,
const QString &code );
1282 static QList< long > userSrsIds();
1291 long matchToUserCrs()
const;
1297 bool loadFromDatabase(
const QString &db,
const QString &expression,
const QString &value );
1299 bool createFromWktInternal(
const QString &wkt,
const QString &description );
1301 QExplicitlySharedDataPointer<QgsCoordinateReferenceSystemPrivate> d;
1303 QString mValidationHint;
1310 static void removeFromCacheObjectsBelongingToCurrentThread(
PJ_CONTEXT *pj_context );
1317 static bool sDisableSrIdCache;
1318 static bool sDisableOgcCache;
1319 static bool sDisableProjCache;
1320 static bool sDisableWktCache;
1321 static bool sDisableSrsIdCache;
1322 static bool sDisableStringCache;
1325 static const QHash< QString, QgsCoordinateReferenceSystem > &stringCache();
1326 static const QHash< QString, QgsCoordinateReferenceSystem > &projCache();
1327 static const QHash< QString, QgsCoordinateReferenceSystem > &ogcCache();
1328 static const QHash< QString, QgsCoordinateReferenceSystem > &wktCache();
1329 static const QHash< long, QgsCoordinateReferenceSystem > &srsIdCache();
1330 static const QHash< long, QgsCoordinateReferenceSystem > &srIdCache();
1339 bool createFromPostgisSrid(
const long id );
1348 QString mySummary( QStringLiteral(
"\n\tSpatial Reference System:" ) );
1349 mySummary += QLatin1String(
"\n\t\tDescription : " );
1356 mySummary += QLatin1String(
"Undefined" );
1358 mySummary += QLatin1String(
"\n\t\tProjection : " );
1365 mySummary += QLatin1String(
"Undefined" );
1368 mySummary += QLatin1String(
"\n\t\tEllipsoid : " );
1375 mySummary += QLatin1String(
"Undefined" );
1378 mySummary += QLatin1String(
"\n\t\tProjString : " );
1379 if ( !r.
toProj().isNull() )
1385 mySummary += QLatin1String(
"Undefined" );
1388 return os << mySummary.toLocal8Bit().data() << std::endl;