拓扑几何构造函数

CreateTopoGeom

CreateTopoGeom — 从拓扑元素数组创建一个新的拓扑几何对象 - tg_type: 1:[多]点, 2:[多]线, 3:[多]多边形, 4:集合

语法

createtopogeom ::=

参数

toponame

TopoGeometry 类型。

tg_type

integer 类型。tg_type 是一个整数:1:[多]点(点)、2:[多]线(线性)、3:[多]多边形(面)、4:集合。

layer_id

integer 类型。layer_id 是topology.layer 表中的层id。

tg_objs

topoelementarray 类型。

返回值

返回值为 topogeometry 类型。

示例

select topology.CreateTopoGeom('city_data', 3, 1, '{{3,3},{4,3}}');
CREATETOPOGEOM(TOPOGEOMETRY)      |
----------------------------------
(1,1,1,3)                         |
总数目:1

ToTopoGeom

ToTopoGeom — 将几何形状添加到现有拓扑几何图形中。

语法

totopogeom ::=

参数

geom

geometry 类型。

toponame

varchar 类型。

layer_id

integer 类型。

tolerance

float8 类型。

topogeom

topogeometry 类型。

返回值

返回值为 topogeometry 类型。

示例

SELECT topology.totopogeom('POINT EMPTY', 'tt', 1);
TOTOPOGEOM(TOPOGEOMETRY)      |
------------------------------
(1,1,1,1)                     |
总数目:1

TopoElementArray_Agg

TopoElementArray_Agg — 返回一组 element_id、类型数组 (topoelements) 的 topoelementarray。

语法

topoelementarray_agg ::=

参数

tefield

topoelement 类型。

返回值

返回值为 topoelementarray 类型。

示例

SELECT 1, TopoElementArray_agg('{1,3}'::TopoElement);
?COLUMN?(int)      |TOPOELEMENTARRAY_AGG(TOPOELEMENTARRAY)      |
---------------------------------------------------------------
1                  |{{1,3}}                                     |
总数目:1

SELECT 2, TopoElementArray_agg(e) from ( SELECT ('{4,1}'::TopoElement) UNION ALL SELECT ('{5,2}')::TopoElement ) as foo(e);
?COLUMN?(int)      |TOPOELEMENTARRAY_AGG(TOPOELEMENTARRAY)      |
---------------------------------------------------------------
2                  |{{4,1},{5,2}}                               |
总数目:1