@@ -134,6 +134,52 @@ def testSourceDestinationDatumTransforms(self):
134
134
context .clear ()
135
135
self .assertEqual (context .sourceDestinationDatumTransforms (), {})
136
136
137
+ def testCalculate (self ):
138
+ context = QgsCoordinateTransformContext ()
139
+
140
+ #empty context
141
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:3111' ),
142
+ QgsCoordinateReferenceSystem ('EPSG:4283' )),
143
+ (- 1 , - 1 ))
144
+
145
+ #add src transform
146
+ context .addSourceDatumTransform (QgsCoordinateReferenceSystem ('EPSG:28356' ), 1 )
147
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:3111' ),
148
+ QgsCoordinateReferenceSystem ('EPSG:4283' )),
149
+ (- 1 , - 1 ))
150
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:28356' ),
151
+ QgsCoordinateReferenceSystem ('EPSG:4283' )),
152
+ (1 , - 1 ))
153
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:4283' ),
154
+ QgsCoordinateReferenceSystem ('EPSG:28356' )),
155
+ (- 1 , - 1 ))
156
+
157
+ #add dest transform
158
+ context .addDestinationDatumTransform (QgsCoordinateReferenceSystem ('EPSG:4283' ), 2 )
159
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:3111' ),
160
+ QgsCoordinateReferenceSystem ('EPSG:4326' )),
161
+ (- 1 , - 1 ))
162
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:3111' ),
163
+ QgsCoordinateReferenceSystem ('EPSG:4283' )),
164
+ (- 1 , 2 ))
165
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:4283' ),
166
+ QgsCoordinateReferenceSystem ('EPSG:3111' )),
167
+ (- 1 , - 1 ))
168
+
169
+ #add specific source/dest pair - should take precedence
170
+ context .addSourceDestinationDatumTransform (QgsCoordinateReferenceSystem ('EPSG:28356' ),
171
+ QgsCoordinateReferenceSystem ('EPSG:4283' ),
172
+ 3 , 4 )
173
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:28356' ),
174
+ QgsCoordinateReferenceSystem ('EPSG:4283' )),
175
+ (3 , 4 ))
176
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:3111' ),
177
+ QgsCoordinateReferenceSystem ('EPSG:4283' )),
178
+ (- 1 , 2 ))
179
+ self .assertEqual (context .calculateDatumTransforms (QgsCoordinateReferenceSystem ('EPSG:28356' ),
180
+ QgsCoordinateReferenceSystem ('EPSG:3111' )),
181
+ (1 , - 1 ))
182
+
137
183
138
184
if __name__ == '__main__' :
139
185
unittest .main ()
0 commit comments