Skip to content

Commit

Permalink
Bugfix datum transformation
Browse files Browse the repository at this point in the history
  • Loading branch information
mhugent committed Nov 8, 2013
1 parent 64440cf commit 6aa4d95
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
8 changes: 6 additions & 2 deletions src/gui/qgsdatumtransformdialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,17 @@ QgsDatumTransformDialog::QgsDatumTransformDialog( const QString& layerName, cons
for ( ; it != dt.constEnd(); ++it )
{
QTreeWidgetItem* item = new QTreeWidgetItem();
QString itemText;
for ( int i = 0; i < 2; ++i )
{
if ( i >= it->size() )
{
break;
}

int nr = it->at( i );
item->setData( i, Qt::UserRole, nr );
if ( nr != -1 )
{
item->setData( i, Qt::UserRole, nr );
item->setText( i, QgsCoordinateTransform::datumTransformString( nr ) );
}
}
Expand Down
9 changes: 6 additions & 3 deletions src/gui/qgsmapcanvas.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1555,15 +1555,14 @@ void QgsMapCanvas::getDatumTransformInfo( const QgsMapLayer* ml, const QString&
return;
}

//create two crs
const QgsCoordinateReferenceSystem& srcCRS = QgsCRSCache::instance()->crsByAuthId( srcAuthId );
const QgsCoordinateReferenceSystem& destCRS = QgsCRSCache::instance()->crsByAuthId( destAuthId );

//get list of datum transforms (QgsCoordinateTransform::datumTransformations
//get list of datum transforms
QList< QList< int > > dt = QgsCoordinateTransform::datumTransformations( srcCRS, destCRS );
if ( dt.size() < 2 )
{
return; //skip?
return;
}

//if several possibilities: present dialog
Expand All @@ -1577,6 +1576,10 @@ void QgsMapCanvas::getDatumTransformInfo( const QgsMapLayer* ml, const QString&
{
srcTransform = t.at( 0 );
}
if ( t.size() > 1 )
{
destTransform = t.at( 1 );
}
mMapRenderer->addLayerCoordinateTransform( ml->id(), srcAuthId, destAuthId, srcTransform, destTransform );
}
else
Expand Down

0 comments on commit 6aa4d95

Please sign in to comment.