@@ -433,7 +433,7 @@ def testClosestVertex(self):
433
433
(dist , minDistPoint , afterVertex ) = polygon .closestSegmentWithContext (QgsPoint (0.7 , 1.1 ))
434
434
self .assertEqual (afterVertex , 2 )
435
435
self .assertEqual (minDistPoint , QgsPoint (1 , 1 ))
436
- exp = 0.3 ** 2 + 0.1 ** 2
436
+ exp = 0.3 ** 2 + 0.1 ** 2
437
437
assert abs (dist - exp ) < 0.00001 , "Expected: %f; Got:%f" % (exp , dist )
438
438
439
439
# 3-+-+-2
@@ -747,6 +747,42 @@ def testMultipoint(self):
747
747
assert p == points [i ], "Expected %s at %d, got %s" % (points [i ].toString (), i , p .toString ())
748
748
i += 1
749
749
750
+ multipoint = QgsGeometry .fromWkt ("MultiPoint ((5 5))" )
751
+ assert multipoint .vertexAt (0 ) == QgsPoint (5 , 5 ), "MULTIPOINT fromWkt failed"
752
+
753
+ assert multipoint .insertVertex (4 , 4 , 0 ), "MULTIPOINT insert 4,4 at 0 failed"
754
+ expwkt = "MultiPoint ((4 4, 5 5))"
755
+ wkt = multipoint .exportToWkt ()
756
+ assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
757
+
758
+ assert multipoint .insertVertex (7 , 7 , 2 ), "MULTIPOINT append 7,7 at 2 failed"
759
+ expwkt = "MultiPoint ((4 4, 5 5, 7 7))"
760
+ wkt = multipoint .exportToWkt ()
761
+ assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
762
+
763
+ assert multipoint .insertVertex (6 , 6 , 2 ), "MULTIPOINT append 6,6 at 2 failed"
764
+ expwkt = "MultiPoint ((4 4, 5 5, 6 6, 7 7))"
765
+ wkt = multipoint .exportToWkt ()
766
+ assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
767
+
768
+ assert not multipoint .deleteVertex (4 ), "MULTIPOINT delete at 4 unexpectedly succeeded"
769
+ assert not multipoint .deleteVertex (- 1 ), "MULTIPOINT delete at -1 unexpectedly succeeded"
770
+
771
+ assert multipoint .deleteVertex (1 ), "MULTIPOINT delete at 1 failed"
772
+ expwkt = "MultiPoint ((4 4, 6 6, 7 7))"
773
+ wkt = multipoint .exportToWkt ()
774
+ assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
775
+
776
+ assert multipoint .deleteVertex (2 ), "MULTIPOINT delete at 2 failed"
777
+ expwkt = "MultiPoint ((4 4, 6 6))"
778
+ wkt = multipoint .exportToWkt ()
779
+ assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
780
+
781
+ assert multipoint .deleteVertex (0 ), "MULTIPOINT delete at 2 failed"
782
+ expwkt = "MultiPoint ((6 6))"
783
+ wkt = multipoint .exportToWkt ()
784
+ assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
785
+
750
786
multipoint = QgsGeometry .fromWkt ("MultiPoint ((5 5))" )
751
787
assert multipoint .vertexAt (0 ) == QgsPoint (5 , 5 ), "MultiPoint fromWkt failed"
752
788
@@ -928,10 +964,10 @@ def testDeleteVertex(self):
928
964
assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
929
965
930
966
polygon = QgsGeometry .fromWkt ("MultiPolygon (((0 0, 1 0, 1 1, 2 1, 2 2, 0 2, 0 0)),((4 0, 5 0, 5 2, 3 2, 3 1, 4 1, 4 0)))" )
931
- for i in range (3 ): # cannot have less than four points in a ring
967
+ for i in range (6 ):
932
968
assert polygon .deleteVertex (0 ), "Delete vertex 0 failed"
933
969
934
- expwkt = "MultiPolygon (((2 1, 2 2, 0 2, 2 1)),(( 4 0, 5 0, 5 2, 3 2, 3 1, 4 1, 4 0)))"
970
+ expwkt = "MultiPolygon (((4 0, 5 0, 5 2, 3 2, 3 1, 4 1, 4 0)))"
935
971
wkt = polygon .exportToWkt ()
936
972
assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
937
973
@@ -945,17 +981,18 @@ def testDeleteVertex(self):
945
981
polygon = QgsGeometry .fromWkt ("Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(1 1, 2 1, 2 2, 1 2, 1 1),(3 1, 4 1, 4 2, 3 2, 3 1),(5 1, 6 1, 6 2, 5 2, 5 1),(7 1, 8 1, 8 2, 7 2, 7 1))" )
946
982
# 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
947
983
948
- #cannot have less than 4 vertices in a ring
949
- assert polygon .deleteVertex (16 ), "Delete vertex 16 failed" % i
984
+ for i in range ( 4 ):
985
+ assert polygon .deleteVertex (16 ), "Delete vertex 16 failed" % i
950
986
951
- expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(1 1, 2 1, 2 2, 1 2, 1 1),(3 1, 4 1, 4 2, 3 2, 3 1),(5 1, 6 2, 5 2, 5 1),( 7 1, 8 1, 8 2, 7 2, 7 1))"
987
+ expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(1 1, 2 1, 2 2, 1 2, 1 1),(3 1, 4 1, 4 2, 3 2, 3 1),(7 1, 8 1, 8 2, 7 2, 7 1))"
952
988
wkt = polygon .exportToWkt ()
953
989
assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
954
990
955
- #ring needs to have at least 4 vertices!
956
- assert polygon .deleteVertex (5 ), "Delete vertex 5 failed" % i
991
+ for i in range (3 ):
992
+ for j in range (4 ):
993
+ assert polygon .deleteVertex (5 ), "Delete vertex 5 failed" % i
957
994
958
- expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0),(2 1, 2 2, 1 2, 2 1),(3 1, 4 1, 4 2, 3 2, 3 1),(5 1, 6 2, 5 2, 5 1),(7 1, 8 1, 8 2, 7 2, 7 1) )"
995
+ expwkt = "Polygon ((0 0, 9 0, 9 3, 0 3, 0 0))"
959
996
wkt = polygon .exportToWkt ()
960
997
assert compareWkt (expwkt , wkt ), "Expected:\n %s\n Got:\n %s\n " % (expwkt , wkt )
961
998
0 commit comments