<title>See Also</title>
</refsection>
</refentry>
+
+ <refentry id="ST_ModEdgeSplit">
+ <refnamediv>
+ <refname>ST_ModEdgeSplit</refname>
+
+ <refpurpose>Split an edge by creating a new node along an existing edge, modifying the original edge and adding a new edge.</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>text <function>ST_ModEdgeSplit</function></funcdef>
+ <paramdef><type>varchar </type> <parameter>atopology</parameter></paramdef>
+ <paramdef><type>integer </type> <parameter>anedge</parameter></paramdef>
+ <paramdef><type>geometry </type> <parameter>apoint</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ </refsynopsisdiv>
+
+ <refsection>
+ <title>Description</title>
+
+ <para>Split an edge by creating a new node along an existing edge, modifying the original edge and adding a new edge.</para>
+
+
+ <!-- use this format if new function -->
+ <para>Availability: 1.? </para>
+ <para>Changed: 2.0 - In prior versions, this was misnamed ST_ModEdgesSplit</para>
+ <para>&sqlmm_compliant; SQL-MM: Topo-Geo and Topo-Net 3: Routine Details: X.3.9</para>
+ </refsection>
+
+
+ <refsection>
+ <title>Examples</title>
+ <programlisting>
+-- Add an edge --
+ SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227592 893910, 227600 893910)', 26986) ) As edgeid;
+
+-- edgeid-
+3
+
+
+-- Split the edge --
+SELECT topology.ST_ModEdgeSplit('ma_topo', 3, ST_SetSRID(ST_Point(227594,893910),26986) ) As result;
+ result
+-------------------------
+7
+</programlisting>
+ </refsection>
+
+ <!-- Optionally add a "See Also" section -->
+ <refsection>
+ <title>See Also</title>
+ <para><xref linkend="AddEdge"/></para>
+ </refsection>
+ </refentry>
+
<refentry id="ST_MoveIsoNode">
<refnamediv>
<refname>ST_MoveIsoNode</refname>
--
-- Compute new edge
--
- nodepos = line_locate_point(oldedge.geom, apoint);
- newedge1 = line_substring(oldedge.geom, 0, nodepos);
- newedge2 = line_substring(oldedge.geom, nodepos, 1);
+ nodepos = ST_Line_Locate_Point(oldedge.geom, apoint);
+ newedge1 = ST_Line_Substring(oldedge.geom, 0, nodepos);
+ newedge2 = ST_Line_Substring(oldedge.geom, nodepos, 1);
--