Skip to content

Commit 754a6e0

Browse files
committedDec 15, 2017
Tweak transform logic (only remove src/dest transforms when both transforms are -1)
1 parent fed8a67 commit 754a6e0

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed
 

‎src/core/qgscoordinatetransformcontext.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ bool QgsCoordinateTransformContext::addSourceDestinationDatumTransform( const Qg
115115

116116
d.detach();
117117
d->mLock.lockForWrite();
118-
if ( sourceTransform == -1 || destinationTransform == -1 )
118+
if ( sourceTransform == -1 && destinationTransform == -1 )
119119
{
120120
d->mSourceDestDatumTransforms.remove( qMakePair( sourceCrs.authid(), destinationCrs.authid() ) );
121121
}

‎tests/src/python/test_qgscoordinatetransformcontext.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,18 @@ def testSourceDestinationDatumTransforms(self):
129129
# remove existing
130130
self.assertTrue(context.addSourceDestinationDatumTransform(QgsCoordinateReferenceSystem(3111),
131131
QgsCoordinateReferenceSystem(4283), -1, 3))
132-
self.assertEqual(context.sourceDestinationDatumTransforms(), {('EPSG:28356', 'EPSG:4283'): (3, 4),
132+
self.assertEqual(context.sourceDestinationDatumTransforms(), {('EPSG:3111', 'EPSG:4283'): (-1, 3),
133+
('EPSG:28356', 'EPSG:4283'): (3, 4),
133134
('EPSG:28356', 'EPSG:28357'): (9, 11)})
134135
self.assertTrue(context.addSourceDestinationDatumTransform(QgsCoordinateReferenceSystem(28356),
135136
QgsCoordinateReferenceSystem(28357), 1, -1))
136-
self.assertEqual(context.sourceDestinationDatumTransforms(), {('EPSG:28356', 'EPSG:4283'): (3, 4)})
137+
self.assertEqual(context.sourceDestinationDatumTransforms(), {('EPSG:3111', 'EPSG:4283'): (-1, 3),
138+
('EPSG:28356', 'EPSG:4283'): (3, 4),
139+
('EPSG:28356', 'EPSG:28357'): (1, -1)})
140+
self.assertTrue(context.addSourceDestinationDatumTransform(QgsCoordinateReferenceSystem(28356),
141+
QgsCoordinateReferenceSystem(28357), -1, -1))
142+
self.assertEqual(context.sourceDestinationDatumTransforms(), {('EPSG:3111', 'EPSG:4283'): (-1, 3),
143+
('EPSG:28356', 'EPSG:4283'): (3, 4)})
137144

138145
context.clear()
139146
self.assertEqual(context.sourceDestinationDatumTransforms(), {})

0 commit comments

Comments
 (0)
Please sign in to comment.