void TestQgsCoordinateTransform::assignment() { QgsCoordinateTransform uninitialized; QgsCoordinateTransform uninitializedCopy; uninitializedCopy = uninitialized; QVERIFY( !uninitializedCopy.isValid() ); QgsCoordinateReferenceSystem source; source.createFromId( 3111, QgsCoordinateReferenceSystem::EpsgCrsId ); QgsCoordinateReferenceSystem destination; destination.createFromId( 4326, QgsCoordinateReferenceSystem::EpsgCrsId ); QgsCoordinateTransform original( source, destination ); QVERIFY( original.isValid() ); QgsCoordinateTransform copy; copy = original; QVERIFY( copy.isValid() ); QCOMPARE( copy.sourceCrs().authid(), original.sourceCrs().authid() ); QCOMPARE( copy.destinationCrs().authid(), original.destinationCrs().authid() ); // force detachement of copy QgsCoordinateReferenceSystem newDest; newDest.createFromId( 3857, QgsCoordinateReferenceSystem::EpsgCrsId ); copy.setDestinationCrs( newDest ); QVERIFY( copy.isValid() ); QCOMPARE( copy.destinationCrs().authid(), QString( "EPSG:3857" ) ); QCOMPARE( original.destinationCrs().authid(), QString( "EPSG:4326" ) ); // test assigning back to invalid copy = uninitialized; QVERIFY( !copy.isValid() ); QVERIFY( original.isValid() ); }
void QgsVectorLayerSaveAsDialog::on_mCRSSelection_currentIndexChanged( int idx ) { leCRS->setEnabled( idx == 2 ); QgsCoordinateReferenceSystem crs; if ( mCRSSelection->currentIndex() == 0 ) { crs = mLayerCrs; } else if ( mCRSSelection->currentIndex() == 1 ) { crs = mExtentGroupBox->currentCrs(); } else // custom CRS { crs.createFromId( mCRS, QgsCoordinateReferenceSystem::InternalCrsId ); } mExtentGroupBox->setOutputCrs( crs ); }