名称

ST_Polygon — 从具有指定 SRID 的 LineString 创建一个 Polygon。

概要

geometry ST_Polygon(geometry lineString, integer srid);

描述

返回一个由给定 LineString 构建的 Polygon,并从 srid 设置空间参考系统。

ST_Polygon 类似于 ST_MakePolygon 变体 1,但增加了设置 SRID 的功能。

要创建带孔的 Polygon,请使用 ST_MakePolygon 变体 2,然后使用 ST_SetSRID

[Note]

此函数不接受 MultiLineString。使用 ST_LineMerge 生成 LineString,或使用 ST_Dump 提取 LineString。

此方法实现了 OGC 简单要素 SQL 实现规范 1.1。

此方法实现了 SQL/MM 规范。SQL-MM 3: 8.3.2

此函数支持 3D,并且不会删除 z 索引。

示例

创建一个 2D Polygon。

SELECT ST_AsText( ST_Polygon('LINESTRING(75 29, 77 29, 77 29, 75 29)'::geometry, 4326) );

-- result --
POLYGON((75 29, 77 29, 77 29, 75 29))

创建一个 3D Polygon。

SELECT ST_AsEWKT( ST_Polygon( ST_GeomFromEWKT('LINESTRING(75 29 1, 77 29 2, 77 29 3, 75 29 1)'), 4326) );

-- result --
SRID=4326;POLYGON((75 29 1, 77 29 2, 77 29 3, 75 29 1))