Name

AddTopoGeometryColumn — 将拓扑几何图形列添加到现有表中,将此新列注册为topology.layer中的层,并返回新的layer_id。

Synopsis

integer AddTopoGeometryColumn(varchar topology_name, varchar schema_name, varchar table_name, varchar column_name, varchar feature_type);

integer AddTopoGeometryColumn(varchar topology_name, varchar schema_name, varchar table_name, varchar column_name, varchar feature_type, integer child_layer);

描述

每个拓扑几何对象都属于特定拓扑的特定层。在创建拓扑几何对象之前,需要创建其TopologyLayer。拓扑图层是要素表与拓扑的关联。它还包含类型和层次结构信息。我们使用AddTopoGeometryColumn()函数创建一个层:

该函数将请求的列添加到表中,并将包含所有给定信息的记录添加到topology.layer表中。

如果未指定[CHILD_LAYER](或将其设置为NULL),则此图层将包含基本拓扑几何(由基本体拓扑元素组成)。否则,该层将包含层次拓扑几何(由Child_layer中的拓扑几何组成)。

创建了图层(其id由AddTopoGeometryColumn函数返回)后,即可在其中构建Topo Geometry对象

有效 feature_type 有:点、线、面、集合

可用性:1.1

示例

-- Note for this example we created our new table in the ma_topo schema
-- though we could have created it in a different schema -- in which case topology_name and schema_name would be different
CREATE SCHEMA ma;
CREATE TABLE ma.parcels(gid serial, parcel_id varchar(20) PRIMARY KEY, address text);
SELECT topology.AddTopoGeometryColumn('ma_topo', 'ma', 'parcels', 'topo', 'POLYGON');
CREATE SCHEMA ri;
CREATE TABLE ri.roads(gid serial PRIMARY KEY, road_name text);
SELECT topology.AddTopoGeometryColumn('ri_topo', 'ri', 'roads', 'topo', 'LINE');

另请参阅

DropTopoGeometryColumn, ToTopGeom, CreateTopology, CreateTopoGeom