Name

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

Synopsis

integer AddEdge(varchar toponame, geometry aline);

描述

将边添加到边表,并将关联节点添加到指定的 toponame 架构,并返回新记录或现有记录的EdgeID。新添加的边缘在两侧都有“宇宙”面,并与自身相连。

[Note]

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

[Note]

的几何学 aline 必须有相同的 srid 正如为拓扑定义的那样,否则将抛出无效的空间参考系统错误。

由GEOS模块执行。

可用性: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

另请参阅

TopoGeo_AddLineString, CreateTopology, Section 4.5, “空间参考系”