[QGIS Commit] r15502 - trunk/qgis/src/providers/ogr

svn_qgis at osgeo.org svn_qgis at osgeo.org
Tue Mar 15 12:24:06 EDT 2011


Author: jef
Date: 2011-03-15 09:24:06 -0700 (Tue, 15 Mar 2011)
New Revision: 15502

Modified:
   trunk/qgis/src/providers/ogr/qgsogrprovider.cpp
Log:
ogr provider: improve detection of CRS

Modified: trunk/qgis/src/providers/ogr/qgsogrprovider.cpp
===================================================================
--- trunk/qgis/src/providers/ogr/qgsogrprovider.cpp	2011-03-15 16:23:09 UTC (rev 15501)
+++ trunk/qgis/src/providers/ogr/qgsogrprovider.cpp	2011-03-15 16:24:06 UTC (rev 15502)
@@ -1841,12 +1841,22 @@
   {
     QgsDebugMsg( "no spatial reference found" );
   }
+  else if ( OSRAutoIdentifyEPSG( mySpatialRefSys ) == OGRERR_NONE )
+  {
+    QString authid = QString( "%1:%2" )
+                     .arg( OSRGetAuthorityName( mySpatialRefSys, NULL ) )
+                     .arg( OSRGetAuthorityCode( mySpatialRefSys, NULL ) );
+    QgsDebugMsg( "authid recognized as " + authid );
+    srs.createFromOgcWmsCrs( authid );
+  }
   else
   {
     // get the proj4 text
-    char *ppszProj4;
-    OSRExportToProj4( mySpatialRefSys, &ppszProj4 );
-    QgsDebugMsg( ppszProj4 );
+    char *pszProj4;
+    OSRExportToProj4( mySpatialRefSys, &pszProj4 );
+    QgsDebugMsg( pszProj4 );
+    OGRFree( pszProj4 );
+
     char *pszWkt = NULL;
     OSRExportToWkt( mySpatialRefSys, &pszWkt );
     QString myWktString = QString( pszWkt );



More information about the QGIS-commit mailing list