Name

ST_NewEdgesSplit — Dela en kant genom att skapa en ny nod längs en befintlig kant, ta bort den ursprungliga kanten och ersätta den med två nya kanter. Returnerar id för den nya nod som skapats och som sammanfogar de nya kanterna.

Synopsis

bigint ST_NewEdgesSplit(varchar atopology, bigint anedge, geometry apoint);

Beskrivning

Delar en kant med kant-id anedge genom att skapa en ny nod med punktläge apoint längs aktuell kant, ta bort den ursprungliga kanten och ersätta den med två nya kanter. Returnerar id för den nya nod som skapats och som sammanfogar de nya kanterna. Uppdaterar alla befintliga sammanfogade kanter och relationer i enlighet med detta.

Om det spatiala referenssystemet (srid) för punktgeometrin inte är detsamma som topologin, apoint inte är en punktgeometri, punkten är null, punkten redan finns som en nod, kanten inte motsvarar en befintlig kant eller punkten inte ligger inom kanten så kastas ett undantag.

Tillgänglighet: 1.1

Denna metod implementerar SQL/MM-specifikationen. SQL-MM: Topo-Net Routines: X.3.8

Exempel

-- Add an edge  --
SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227575 893917,227592 893900)', 26986) ) As edgeid;
-- result-
edgeid
------
        2
-- Split the new edge --
SELECT topology.ST_NewEdgesSplit('ma_topo', 2,  ST_GeomFromText('POINT(227578.5 893913.5)', 26986) ) As newnodeid;
 newnodeid
---------
       6