ST_MPolyFromShape

注注:

仅适用于 PostgreSQL 中的 ST_Geometry

定义

ST_MPolyFromShape 采用 ESRI Multipolygon shape 和空间参考 ID,并返回 ST_MultiPolygon。

语法

sde.st_mpolyfromshape (esri_shape bytea, srid integer)

返回类型

ST_MultiPolygon

示例

本示例说明了如何使用 ST_MPolyFromShape 从 ESRI multipolygon shape 创建多面。

在本示例中,创建了具有 st_geometry 列的表。将记录插入到表中以存储多面。随后使用形状表示对记录进行更新(使用 ST_AsShape 函数)。

ST_MPointFromShape 函数随后用于从形状列返回多点信息。

mpolys 表具有几何列(多点存储在其中)和形状列(多点的 ESRI shape 表示存储在其中)。

CREATE TABLE mpolys (id integer, geometry sde.st_geometry, shape bytea);

INSERT INTO mpolys VALUES (
1,
sde.st_multipolygon ('multipolygon (((1 72, 4 79, 5 76, 1 72), (10 20, 10 40, 30 41, 10 20), (9 43, 7 44, 6 47, 9 43)))', 0)
);

UPDATE mpolys
SET shape = sde.st_asshape (geometry)
WHERE id = 1;

在以下 SELECT 语句中,ST_MPolyFromShape 函数用于从形状列检索多面。

SELECT id, sde.st_astext (sde.st_mpolyfromshape (shape)) 
AS MULTIPOLYGON
FROM mpolys
WHERE id = 1;

id   multipolygon

1   MULTIPOLYGON (((10 20, 30 41, 10 40, 10 20)),
 (1 72, 5 76, 4 79, 1 72)), (9 43, 6 47, 7 44, 9 43 )))

7/10/2012