39 QList< QgsCoordinateTransform* > values =
40 mTransforms.values( qMakePair( srcAuthId, destAuthId ) );
42 QList< QgsCoordinateTransform* >::const_iterator valIt = values.constBegin();
43 for ( ; valIt != values.constEnd(); ++valIt )
45 if ( *valIt && ( *valIt )->sourceDatumTransform() == srcDatumTransform && ( *valIt )->destinationDatumTransform() == destDatumTransform )
58 mTransforms.insertMulti( qMakePair( srcAuthId, destAuthId ), ct );
66 QList< QPair< QString, QString > > updateList;
70 if ( it.key().first == crsAuthId || it.key().second == crsAuthId )
72 updateList.append( it.key() );
77 QList< QPair< QString, QString > >::const_iterator updateIt = updateList.constBegin();
78 for ( ; updateIt != updateList.constEnd(); ++updateIt )
104 mCRS.insert( authid, s );
108 mCRS.remove( authid );
116 QHash< QString, QgsCoordinateReferenceSystem >::const_iterator crsIt =
mCRS.find( authid );
117 if ( crsIt ==
mCRS.constEnd() )
124 return mCRS.insert( authid, s ).value();
128 return crsIt.value();
134 return crsByAuthId(
"EPSG:" + QString::number( epsg ) );
const QgsCoordinateReferenceSystem & crsByAuthId(const QString &authid)
Returns the CRS for authid, e.g.
bool createFromOgcWmsCrs(QString theCrs)
Set up this CRS from the given OGC CRS.
const QgsCoordinateReferenceSystem & crsByEpsgId(long epsg)
Class for storing a coordinate reference system (CRS)
void updateCRSCache(const QString &authid)
QHash< QString, QgsCoordinateReferenceSystem > mCRS
QgsCoordinateReferenceSystem mInvalidCRS
CRS that is not initialised (returned in case of error)
static QgsCRSCache * instance()