Name

CreateTopology — 创建一个新的拓扑架构并将其注册到topology.topology 表中。

Synopsis

integer CreateTopology(name topology_schema_name, integer srid, double precision prec, boolean hasz, integer topoid, boolean useslargeids);

描述

创建名为topology_name的新拓扑模式并将其注册到topology.topology表中。 拓扑必须具有唯一的名称。 拓扑表(edge_datafacenoderelation)在模式中创建。它返回拓扑的 id。

srid 表示该拓扑的 空间参考系统 的 SRID。如果未指定,默认值为 -1(未知)。

容差精度以空间参考系的单位进行测量。 容差默认为 0。

如果未指定,hasz 默认为 false。

topoid 为可选的显式标识符(允许确定性地分配拓扑 ID,需保证唯一)

useslargeids 为可选参数,默认值为 false。若设为 true,则创建的拓扑将支持大整数(int8)类型的拓扑 ID 和要素 ID。

这与 SQL/MM ST_InitTopoGeo 类似,但具有更多功能。

可用性:1.1

增强:2.0添加接受hasZ的格式

示例

创建一个名为 ma_topo 的拓扑模式,用于存储马萨诸塞州平面米 (SRID = 26986) 中的边和节点。 由于空间参考系统是基于米的,因此容差表示 0.5 米。

SELECT topology.CreateTopology('ma_topo', 26986, 0.5);

在空间参考系统 State Plane-feet (SRID = 3438) 中为罗德岛创建一个名为 ri_topo 的拓扑

SELECT topology.CreateTopology('ri_topo', 3438) AS topoid;
topoid
------
2