Skip to content

Commit fe67683

Browse files
jef-nmach0
authored andcommittedNov 13, 2011
when intializing from WKT favourize EPSG instead of PROJ.4
1 parent ccd8487 commit fe67683

File tree

3 files changed

+12
-41
lines changed

3 files changed

+12
-41
lines changed
 

‎src/core/qgscoordinatereferencesystem.cpp

+9
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,15 @@ bool QgsCoordinateReferenceSystem::createFromWkt( QString theWkt )
310310
return mIsValidFlag;
311311
}
312312

313+
if ( OSRAutoIdentifyEPSG( mCRS ) == OGRERR_NONE )
314+
{
315+
QString authid = QString( "%1:%2" )
316+
.arg( OSRGetAuthorityName( mCRS, NULL ) )
317+
.arg( OSRGetAuthorityCode( mCRS, NULL ) );
318+
QgsDebugMsg( "authid recognized as " + authid );
319+
return createFromOgcWmsCrs( authid );
320+
}
321+
313322
// always morph from esri as it doesn't hurt anything
314323
// FW: Hey, that's not right! It can screw stuff up! Disable
315324
//myOgrSpatialRef.morphFromESRI();

‎src/providers/ogr/qgsogrprovider.cpp

+3-40
Original file line numberDiff line numberDiff line change
@@ -1807,44 +1807,6 @@ QGISEXTERN bool createEmptyDataSource( const QString &uri,
18071807
return true;
18081808
}
18091809

1810-
bool QgsOgrProvider::crsFromWkt( QgsCoordinateReferenceSystem &srs, const char *wkt )
1811-
{
1812-
void *hCRS = OSRNewSpatialReference( NULL );
1813-
1814-
if ( OSRImportFromWkt( hCRS, ( char ** ) &wkt ) == OGRERR_NONE )
1815-
{
1816-
if ( OSRAutoIdentifyEPSG( hCRS ) == OGRERR_NONE )
1817-
{
1818-
QString authid = QString( "%1:%2" )
1819-
.arg( OSRGetAuthorityName( hCRS, NULL ) )
1820-
.arg( OSRGetAuthorityCode( hCRS, NULL ) );
1821-
QgsDebugMsg( "authid recognized as " + authid );
1822-
srs.createFromOgcWmsCrs( authid );
1823-
}
1824-
else
1825-
{
1826-
// get the proj4 text
1827-
char *pszProj4;
1828-
OSRExportToProj4( hCRS, &pszProj4 );
1829-
QgsDebugMsg( pszProj4 );
1830-
OGRFree( pszProj4 );
1831-
1832-
char *pszWkt = NULL;
1833-
OSRExportToWkt( hCRS, &pszWkt );
1834-
QString myWktString = QString( pszWkt );
1835-
OGRFree( pszWkt );
1836-
1837-
// create CRS from Wkt
1838-
srs.createFromWkt( myWktString );
1839-
}
1840-
}
1841-
1842-
OSRRelease( hCRS );
1843-
1844-
return srs.isValid();
1845-
}
1846-
1847-
18481810
QgsCoordinateReferenceSystem QgsOgrProvider::crs()
18491811
{
18501812
QgsDebugMsg( "entering." );
@@ -1865,7 +1827,7 @@ QgsCoordinateReferenceSystem QgsOgrProvider::crs()
18651827
QString myWktString = prjStream.readLine();
18661828
prjFile.close();
18671829

1868-
if ( crsFromWkt( srs, myWktString.toUtf8().constData() ) )
1830+
if ( srs.createFromWkt( myWktString.toUtf8().constData() ) )
18691831
return srs;
18701832
}
18711833
}
@@ -1882,7 +1844,8 @@ QgsCoordinateReferenceSystem QgsOgrProvider::crs()
18821844

18831845
char *pszWkt = NULL;
18841846
OSRExportToWkt( mySpatialRefSys, &pszWkt );
1885-
crsFromWkt( srs, pszWkt );
1847+
1848+
srs.createFromWkt( pszWkt );
18861849
OGRFree( pszWkt );
18871850
}
18881851
else

‎src/providers/ogr/qgsogrprovider.h

-1
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ class QgsOgrProvider : public QgsVectorDataProvider
255255
void setRelevantFields( bool fetchGeometry, const QgsAttributeList& fetchAttributes );
256256

257257
private:
258-
bool crsFromWkt( QgsCoordinateReferenceSystem &srs, const char *wkt );
259258
unsigned char *getGeometryPointer( OGRFeatureH fet );
260259
QgsFieldMap mAttributeFields;
261260
OGRDataSourceH ogrDataSource;

0 commit comments

Comments
 (0)
Please sign in to comment.