]> granicus.if.org Git - postgis/commitdiff
Add test for update of isolated nodes in split-faces.
authorSandro Santilli <strk@keybit.net>
Fri, 27 Jan 2012 08:18:23 +0000 (08:18 +0000)
committerSandro Santilli <strk@keybit.net>
Fri, 27 Jan 2012 08:18:23 +0000 (08:18 +0000)
Affects both ST_AddEdgeModFace and ST_AddEdgeNewFaces (both work)

git-svn-id: http://svn.osgeo.org/postgis/trunk@8940 b70326c6-7e19-0410-871a-916f4a2858ee

topology/test/regress/st_addedgemodface.sql
topology/test/regress/st_addedgemodface_expected
topology/test/regress/st_addedgenewfaces.sql
topology/test/regress/st_addedgenewfaces_expected

index 5c72c04363d0ce716f2e30debb4e72e997eb74ae..8d3b172f9ca3fb5b3060d398e866c9440baef2a1 100644 (file)
@@ -355,6 +355,10 @@ SELECT 'T22', 'E'||edge_id, next_left_edge, next_right_edge,
 --
 -- Split a face containing an holes in both sides of the split
 --
+-- Both split faces containing an isolated node.
+SELECT 'T23', 'N' || topology.st_addisonode('city_data', 28, 'POINT(27 33)'), 28;
+SELECT 'T23', 'N' || topology.st_addisonode('city_data', 28, 'POINT(25 38)'), 28;
+SELECT 'T23', 'N' || topology.st_addisonode('city_data', 2, 'POINT(21 36)'), 2;
 INSERT INTO newedge SELECT 23, topology.st_addedgemodface('city_data',
   2, 3,  'LINESTRING(25 30, 29 32, 29 37, 25 35)');
 SELECT 'T23', 'E'||edge_id, next_left_edge, next_right_edge,
@@ -363,6 +367,9 @@ SELECT 'T23', 'E'||edge_id, next_left_edge, next_right_edge,
     SELECT edge_id FROM newedge WHERE id IN (13, 23, 22, 16)
     UNION VALUES (2),(3) )
   ORDER BY edge_id;
+SELECT 'T23', 'N' || node_id, containing_face FROM
+  city_data.node WHERE node_id IN ( 27, 28, 29 )
+  ORDER BY node_id;
 
 
 ---------------------------------------------------------------------
index a66439c6955089ed3fa6a47b7be5ba251cb69cf9..d317d7fe20b5dc449546da6f8624971c774a4235 100644 (file)
@@ -101,12 +101,18 @@ T22|E2|3|39|28|0
 T22|E3|48|2|28|28
 T22|E42|42|-42|28|2
 T22|E48|-3|-48|28|23
+T23|N27|28
+T23|N28|28
+T23|N29|2
 T23|E2|3|39|28|0
 T23|E3|-49|49|28|29
 T23|E39|-2|-39|0|22
 T23|E42|42|-42|28|2
 T23|E48|-3|-48|29|23
 T23|E49|48|2|29|28
+T23|N27|29
+T23|N28|28
+T23|N29|2
 F3,F4|{3:3,3:4,3:10,3:16,3:17}
 F5,N4|{1:4,3:5,3:11}
 F0|
index f5faf1e65811d8203c89af72554b9f46af24d6ba..4905c391d4bf6e84b085a77548c7625b083398b5 100644 (file)
@@ -355,6 +355,10 @@ SELECT 'T22', 'E'||edge_id, next_left_edge, next_right_edge,
 --
 -- Split a face containing an holes in both sides of the split
 --
+-- Both split faces containing an isolated node.
+SELECT 'T23', 'N' || topology.st_addisonode('city_data', 38, 'POINT(27 33)'), 38;
+SELECT 'T23', 'N' || topology.st_addisonode('city_data', 38, 'POINT(25 38)'), 38;
+SELECT 'T23', 'N' || topology.st_addisonode('city_data', 31, 'POINT(21 36)'), 31;
 INSERT INTO newedge SELECT 23, topology.st_addedgenewfaces('city_data',
   2, 3,  'LINESTRING(25 30, 29 32, 29 37, 25 35)');
 SELECT 'T23', 'E'||edge_id, next_left_edge, next_right_edge,
@@ -363,6 +367,9 @@ SELECT 'T23', 'E'||edge_id, next_left_edge, next_right_edge,
     SELECT edge_id FROM newedge WHERE id IN (13, 23, 22, 16)
     UNION VALUES (2),(3) )
   ORDER BY edge_id;
+SELECT 'T23', 'N' || node_id, containing_face FROM
+  city_data.node WHERE node_id IN ( 27, 28, 29 )
+  ORDER BY node_id;
 
 
 ---------------------------------------------------------------------
index 32930894045219cb9a45c2fc4377007ae772efb8..55094f6746d3c8efee647f2bd5b1a1d45de05b15 100644 (file)
@@ -101,12 +101,18 @@ T22|E2|3|39|38|0
 T22|E3|48|2|38|38
 T22|E42|42|-42|38|31
 T22|E48|-3|-48|38|37
+T23|N27|38
+T23|N28|38
+T23|N29|31
 T23|E2|3|39|39|0
 T23|E3|-49|49|39|40
 T23|E39|-2|-39|0|30
 T23|E42|42|-42|39|31
 T23|E48|-3|-48|40|37
 T23|E49|48|2|40|39
+T23|N27|40
+T23|N28|39
+T23|N29|31
 F3,F4|{3:10,3:11,3:22,3:24,3:25}
 F5,N4|{1:4,3:12,3:13}
 F0|