Name

AddEdge — Fügt die Kante eines Linienzugs in der Tabelle "edge", und die zugehörigen Anfangs- und Endpunkte in die Knotenpunkttabelle, des jeweiligen topologischen Schemas ein. Dabei wird die übergebene Linienzuggeometrie verwendet und die edgeid der neuen (oder bestehenden) Kante ausgegeben.

Synopsis

integer AddEdge(varchar toponame, geometry aline);

Beschreibung

Fügt eine Kante in der Tabelle "edge", und die zugehörigen Knoten in die Tabelle "node", des jeweiligen Schemas toponame ein. Dabei wird die übergebene Linienzuggeometrie verwendet und die edgeid des neuen oder des bestehenden Datensatzes ausgegeben. Die neu hinzugefügte Kante hat auf beiden Seiten die Masche für die Grundmenge/"Universum" und verweist auf sich selbst.

[Note]

Wenn die Geometrie aline eine bestehende Kante kreuzt, überlagert, beinhaltet oder in ihr enthalten ist, dann wird eine Fehlermeldung ausgegeben und die Kante wird nicht hinzugefügt.

[Note]

Die Geometrie von aline muss dieselbe SRID aufweisen wie die Topologie, ansonsten wird die Fehlermeldung "invalid spatial reference sys error" ausgegeben.

Wird vom GEOS Modul ausgeführt

Verfügbarkeit: 2.0.0

Beispiele

SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227575.8 893917.2,227591.9 893900.4)', 26986) ) As edgeid;
-- result-
edgeid
--------
 1

SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227591.9 893900.4,227622.6 893844.2,227641.6 893816.5,
 227704.5 893778.5)', 26986) ) As edgeid;
-- result --
edgeid
--------
 2

 SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227591.2 893900, 227591.9 893900.4,
  227704.5 893778.5)', 26986) ) As edgeid;
 -- gives error --
 ERROR:  Edge intersects (not on endpoints) with existing edge 1

Siehe auch

TopoGeo_AddLineString, CreateTopology, Section 4.5, “Spatial Reference Systems”