From: Sandro Santilli Date: Tue, 10 Apr 2012 17:26:57 +0000 (+0000) Subject: Have ST_ModEdgeSplit and ST_NewEdgesSplit to use ST_Spit (#1715) X-Git-Tag: 2.0.1~145 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c6fc39dc768ffb4cafc70c323e5d987e50a98b76;p=postgis Have ST_ModEdgeSplit and ST_NewEdgesSplit to use ST_Spit (#1715) git-svn-id: http://svn.osgeo.org/postgis/trunk@9624 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/topology/sql/sqlmm.sql.in.c b/topology/sql/sqlmm.sql.in.c index 10fe83715..8ac9f8064 100644 --- a/topology/sql/sqlmm.sql.in.c +++ b/topology/sql/sqlmm.sql.in.c @@ -1904,13 +1904,9 @@ BEGIN -- -- Compute new edges -- - nodepos = ST_Line_locate_point(oldedge.geom, apoint); - - edge1 = ST_Line_substring(oldedge.geom, 0, nodepos); - edge1 = ST_SetPoint(edge1, ST_NPoints(edge1)-1, apoint); - - edge2 = ST_Line_substring(oldedge.geom, nodepos, 1); - edge2 = ST_SetPoint(edge2, 0, apoint); + edge2 := ST_Split(oldedge.geom, apoint); + edge1 := ST_GeometryN(edge2, 1); + edge2 := ST_GeometryN(edge2, 2); -- -- Get ids for the new edges @@ -2201,13 +2197,9 @@ BEGIN -- -- Compute new edge -- - nodepos = ST_Line_Locate_Point(oldedge.geom, apoint); - - newedge1 = ST_Line_Substring(oldedge.geom, 0, nodepos); - newedge1 = ST_SetPoint(newedge1, ST_NPoints(newedge1)-1, apoint); - - newedge2 = ST_Line_Substring(oldedge.geom, nodepos, 1); - newedge2 = ST_SetPoint(newedge2, 0, apoint); + newedge2 := ST_Split(oldedge.geom, apoint); + newedge1 := ST_GeometryN(newedge2, 1); + newedge2 := ST_GeometryN(newedge2, 2); -- -- Get ids for the new edge