名称

AddEdge — 使用指定的线串几何图形将线串边添加到指定的拓扑模式的边表,并将关联的起点和终点添加到点节点表,并返回新边(或现有边)的边 ID。

概要

integer AddEdge(varchar toponame, geometry aline);

描述

使用指定的线串几何图形将边添加到指定的 toponame 模式的边表,并将关联的节点添加到节点表,并返回新记录或现有记录的边 ID。新添加的边在其两侧都有“宇宙”面,并链接到自身。

[Note]

如果 aline 几何图形与现有线串边相交、重叠、包含或被其包含,则会抛出错误,并且不会添加该边。

[Note]

aline 的几何图形必须具有与拓扑定义的相同的 srid,否则将抛出无效空间参考系统错误。

由 GEOS 模块执行。

[Warning]

AddEdge 从 3.5.0 版本开始已弃用。请改用 TopoGeo_AddLineString

可用性: 2.0.0

示例

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