From: Sandro Santilli Date: Fri, 27 Jan 2012 08:18:23 +0000 (+0000) Subject: Add test for update of isolated nodes in split-faces. X-Git-Tag: 2.0.0alpha3~58 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a9feae6325ad027f949f198644180bcda6d81691;p=postgis Add test for update of isolated nodes in split-faces. Affects both ST_AddEdgeModFace and ST_AddEdgeNewFaces (both work) git-svn-id: http://svn.osgeo.org/postgis/trunk@8940 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/topology/test/regress/st_addedgemodface.sql b/topology/test/regress/st_addedgemodface.sql index 5c72c0436..8d3b172f9 100644 --- a/topology/test/regress/st_addedgemodface.sql +++ b/topology/test/regress/st_addedgemodface.sql @@ -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; --------------------------------------------------------------------- diff --git a/topology/test/regress/st_addedgemodface_expected b/topology/test/regress/st_addedgemodface_expected index a66439c69..d317d7fe2 100644 --- a/topology/test/regress/st_addedgemodface_expected +++ b/topology/test/regress/st_addedgemodface_expected @@ -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| diff --git a/topology/test/regress/st_addedgenewfaces.sql b/topology/test/regress/st_addedgenewfaces.sql index f5faf1e65..4905c391d 100644 --- a/topology/test/regress/st_addedgenewfaces.sql +++ b/topology/test/regress/st_addedgenewfaces.sql @@ -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; --------------------------------------------------------------------- diff --git a/topology/test/regress/st_addedgenewfaces_expected b/topology/test/regress/st_addedgenewfaces_expected index 329308940..55094f674 100644 --- a/topology/test/regress/st_addedgenewfaces_expected +++ b/topology/test/regress/st_addedgenewfaces_expected @@ -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|