CreateTopology — 创建一个新的拓扑架构并将其注册到topology.topology 表中。
integer CreateTopology(
name topology_schema_name, integer srid, double precision prec, boolean hasz, integer topoid, boolean useslargeids)
;
创建名为topology_name
的新拓扑模式并将其注册到topology.topology
表中。 拓扑必须具有唯一的名称。 拓扑表(edge_data
、face
、node
和relation
)在模式中创建。它返回拓扑的 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