名称

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

概要

integer AddEdge(varchar toponame, geometry aline);

描述

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

[Note]

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

[Note]

aline 几何图形的 srid 必须与拓扑定义的 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_AddLineStringCreateTopology第 4.5 节,“空间参考系统”