From c6fc39dc768ffb4cafc70c323e5d987e50a98b76 Mon Sep 17 00:00:00 2001 From: Sandro Santilli Date: Tue, 10 Apr 2012 17:26:57 +0000 Subject: [PATCH] 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 --- topology/sql/sqlmm.sql.in.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) 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 -- 2.50.1