ST_PolyFromShape

注注:

仅适用于 PostgreSQL 中的 ST_Geometry

定义

ST_PolyFromShape 采用 ESRI multipolygon shape 和空间参考 ID 作为输入参数,返回面。

语法

sde.st_polyfromshape (esri_shape bytea, srid integer)

返回类型

ST_Polygon

示例

本例说明了如何使用 ST_PolyFromShape 从 ESRI shape 表示创建面。在本例中,面存储在 polys 表的几何列中,随后形状列通过其 ESRI shape 表示进行更新(使用 ST_AsShape 函数)。最后,ST_PolyFromShape 函数将用于从形状列返回多面。此几何的 x 和 y 坐标为 (50, 20) (50, 40) (70, 30)。polys 表具有一个几何列(面存储在其中);一个形状列(面的 ESRI shape 表示存储在其中);以及用于唯一标识每条记录的 ID 列。

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

INSERT INTO polys VALUES (
111,
sde.st_polygon ('polygon  ((10.01 20.03, 10.52 40.11, 30.29 41.56,
31.78 10.74, 10.01 20.03))', 0)
);

UPDATE polys
SET shape = sde.st_asshape (geometry)
WHERE id = 111;
SELECT id, sde.st_astext (sde.st_polyfromshape (shape, 0))
AS polygon
FROM polys;

id     polygon
111    POLYGON (10.01000000 20.03000000, 31.78000000 10.74000000, 
30.29000000 41.56000000, 10.52000000 40.11000000, 10.01000000 20.03000000)

7/10/2012