Skip to content

Commit 28a46c8

Browse files
author
homann
committedAug 26, 2009
First try with EPSG ID, then proj4 matching, when reading CRS from project file
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@11516 c8812cc2-4d05-0410-92ff-de0c093fc19c

File tree

1 file changed

+51
-38
lines changed

1 file changed

+51
-38
lines changed
 

‎src/core/qgscoordinatereferencesystem.cpp

Lines changed: 51 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -930,60 +930,73 @@ bool QgsCoordinateReferenceSystem::readXML( QDomNode & theNode )
930930

931931
if ( ! srsNode.isNull() )
932932
{
933-
QDomNode myNode = srsNode.namedItem( "proj4" );
933+
QDomNode myNode = srsNode.namedItem( "epsg" );
934934
QDomElement myElement = myNode.toElement();
935935

936-
if ( createFromProj4( myElement.text() ) )
936+
if ( createFromEpsg( myElement.text().toLong() ) )
937937
{
938-
// createFromProj4() sets everything, inlcuding map units
939-
QgsDebugMsg( "Setting from proj4 string" );
938+
// createFromEpsg() sets everything, inlcuding map units
939+
QgsDebugMsg( "Setting from EPSG id" );
940940
}
941941
else
942942
{
943-
QgsDebugMsg( "Setting from elements one by one" );
943+
myNode = srsNode.namedItem( "proj4" );
944+
myElement = myNode.toElement();
944945

945-
setProj4String( myElement.text() );
946+
if ( createFromProj4( myElement.text() ) )
947+
{
948+
// createFromProj4() sets everything, inlcuding map units
949+
QgsDebugMsg( "Setting from proj4 string" );
950+
}
951+
else
952+
{
953+
QgsDebugMsg( "Setting from elements one by one" );
946954

947-
myNode = srsNode.namedItem( "srsid" );
948-
myElement = myNode.toElement();
949-
setInternalId( myElement.text().toLong() );
955+
myNode = srsNode.namedItem( "proj4" );
956+
myElement = myNode.toElement();
957+
setProj4String( myElement.text() );
950958

951-
myNode = srsNode.namedItem( "srid" );
952-
myElement = myNode.toElement();
953-
setSrid( myElement.text().toLong() );
959+
myNode = srsNode.namedItem( "srsid" );
960+
myElement = myNode.toElement();
961+
setInternalId( myElement.text().toLong() );
954962

955-
myNode = srsNode.namedItem( "epsg" );
956-
myElement = myNode.toElement();
957-
setEpsg( myElement.text().toLong() );
963+
myNode = srsNode.namedItem( "srid" );
964+
myElement = myNode.toElement();
965+
setSrid( myElement.text().toLong() );
958966

959-
myNode = srsNode.namedItem( "description" );
960-
myElement = myNode.toElement();
961-
setDescription( myElement.text() );
967+
myNode = srsNode.namedItem( "epsg" );
968+
myElement = myNode.toElement();
969+
setEpsg( myElement.text().toLong() );
962970

963-
myNode = srsNode.namedItem( "projectionacronym" );
964-
myElement = myNode.toElement();
965-
setProjectionAcronym( myElement.text() );
971+
myNode = srsNode.namedItem( "description" );
972+
myElement = myNode.toElement();
973+
setDescription( myElement.text() );
966974

967-
myNode = srsNode.namedItem( "ellipsoidacronym" );
968-
myElement = myNode.toElement();
969-
setEllipsoidAcronym( myElement.text() );
975+
myNode = srsNode.namedItem( "projectionacronym" );
976+
myElement = myNode.toElement();
977+
setProjectionAcronym( myElement.text() );
970978

971-
myNode = srsNode.namedItem( "geographicflag" );
972-
myElement = myNode.toElement();
973-
if ( myElement.text().compare( "true" ) )
974-
{
975-
setGeographicFlag( true );
976-
}
977-
else
978-
{
979-
setGeographicFlag( false );
980-
}
979+
myNode = srsNode.namedItem( "ellipsoidacronym" );
980+
myElement = myNode.toElement();
981+
setEllipsoidAcronym( myElement.text() );
981982

982-
//make sure the map units have been set
983-
setMapUnits();
983+
myNode = srsNode.namedItem( "geographicflag" );
984+
myElement = myNode.toElement();
985+
if ( myElement.text().compare( "true" ) )
986+
{
987+
setGeographicFlag( true );
988+
}
989+
else
990+
{
991+
setGeographicFlag( false );
992+
}
984993

985-
//@TODO this srs needs to be validated!!!
986-
mIsValidFlag = true;//shamelessly hard coded for now
994+
//make sure the map units have been set
995+
setMapUnits();
996+
997+
//@TODO this srs needs to be validated!!!
998+
mIsValidFlag = true;//shamelessly hard coded for now
999+
}
9871000
}
9881001
}
9891002
else

0 commit comments

Comments
 (0)
Please sign in to comment.