名称

ST_ExteriorRing — 返回一个表示多边形外环的 LineString。

概要

geometry ST_ExteriorRing(geometry a_polygon);

描述

返回一个表示多边形外环(外壳)的 LINESTRING。如果几何图形不是多边形,则返回 NULL。

[Note]

此函数不支持 MULTIPOLYGON。对于 MULTIPOLYGON,请结合 ST_GeometryNST_Dump 使用。

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

此方法实现了 SQL/MM 规范。SQL-MM 3: 8.2.3, 8.3.3

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

示例

--If you have a table of polygons
SELECT gid, ST_ExteriorRing(geom) AS ering
FROM sometable;

--If you have a table of MULTIPOLYGONs
--and want to return a MULTILINESTRING composed of the exterior rings of each polygon
SELECT gid, ST_Collect(ST_ExteriorRing(geom)) AS erings
	FROM (SELECT gid, (ST_Dump(geom)).geom As geom
			FROM sometable) As foo
GROUP BY gid;

--3d Example
SELECT ST_AsEWKT(
	ST_ExteriorRing(
	ST_GeomFromEWKT('POLYGON((0 0 1, 1 1 1, 1 2 1, 1 1 1, 0 0 1))')
	)
);

st_asewkt
---------
LINESTRING(0 0 1,1 1 1,1 2 1,1 1 1,0 0 1)