@@ -47,6 +47,30 @@ def testTransformBoundingBox(self):
47
47
self .assertAlmostEqual (myExpectedValues [2 ], myProjectedExtent .xMaximum (), msg = myMessage )
48
48
self .assertAlmostEqual (myExpectedValues [3 ], myProjectedExtent .yMaximum (), msg = myMessage )
49
49
50
+ def testTransformQgsRectangle_Regression17600 (self ):
51
+ """Test that rectangle transform is in the bindings"""
52
+ myExtent = QgsRectangle (- 1797107 , 4392148 , 6025926 , 6616304 )
53
+ myGeoCrs = QgsCoordinateReferenceSystem ()
54
+ myGeoCrs .createFromId (4326 , QgsCoordinateReferenceSystem .EpsgCrsId )
55
+ myUtmCrs = QgsCoordinateReferenceSystem ()
56
+ myUtmCrs .createFromId (3857 , QgsCoordinateReferenceSystem .EpsgCrsId )
57
+ myXForm = QgsCoordinateTransform (myUtmCrs , myGeoCrs )
58
+ myTransformedExtent = myXForm .transform (myExtent )
59
+ myTransformedExtentForward = myXForm .transform (myExtent , QgsCoordinateTransform .ForwardTransform )
60
+ self .assertAlmostEquals (myTransformedExtentForward .xMaximum (), myTransformedExtent .xMaximum ())
61
+ self .assertAlmostEquals (myTransformedExtentForward .xMinimum (), myTransformedExtent .xMinimum ())
62
+ self .assertAlmostEquals (myTransformedExtentForward .yMaximum (), myTransformedExtent .yMaximum ())
63
+ self .assertAlmostEquals (myTransformedExtentForward .yMinimum (), myTransformedExtent .yMinimum ())
64
+ self .assertAlmostEquals (myTransformedExtentForward .xMaximum (), 54.13181426773211 )
65
+ self .assertAlmostEquals (myTransformedExtentForward .xMinimum (), - 16.14368685298181 )
66
+ self .assertAlmostEquals (myTransformedExtentForward .yMaximum (), 50.971783118386895 )
67
+ self .assertAlmostEquals (myTransformedExtentForward .yMinimum (), 36.66235970825241 )
68
+ myTransformedExtentReverse = myXForm .transform (myTransformedExtent , QgsCoordinateTransform .ReverseTransform )
69
+ self .assertAlmostEquals (myTransformedExtentReverse .xMaximum (), myExtent .xMaximum ())
70
+ self .assertAlmostEquals (myTransformedExtentReverse .xMinimum (), myExtent .xMinimum ())
71
+ self .assertAlmostEquals (myTransformedExtentReverse .yMaximum (), myExtent .yMaximum ())
72
+ self .assertAlmostEquals (myTransformedExtentReverse .yMinimum (), myExtent .yMinimum ())
73
+
50
74
51
75
if __name__ == '__main__' :
52
76
unittest .main ()
0 commit comments