名称

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

大纲

geometry ST_ExteriorRing(geometry a_polygon);

描述

返回表示多边形外环的线串。 如果几何图形不是多边形,则返回 NULL。

[注意]

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

此方法实现了 SQL 1.1 的 OGC 简单功能规范。 2.1.5.1

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

该函数支持 3d 并且不会丢失 z-index。

示例

Extract the exterior ring from a Polygon with a hole.

Code
WITH input(geom) AS (VALUES (
  'POLYGON((0 0,2 9,9 11,14 6,12 0,0 0),(4 3,9 3,10 7,5 8,4 3))'::geometry
))
SELECT geom AS input_polygon,
       ST_ExteriorRing(geom) AS exterior_ring
FROM input;
栅格输出
POLYGON((0 0,2 9,9 11,14 6,12 0,0 0),(4 3,9 3,10 7,5 8,4 3)) | LINESTRING(0 0,2 9,9 11,14 6,12 0,0 0)
Figure
Geometry figure for visual-st-exteriorring-01

For a MultiPolygon, dump the component Polygons before extracting their exterior rings. Both component Polygons in this example have holes.

Code
WITH input(geom) AS (VALUES (
  'MULTIPOLYGON(
    ((0 0,2 9,9 11,14 6,12 0,0 0),(4 3,9 3,10 7,5 8,4 3)),
    ((18 1,18 10,29 10,31 4,25 0,18 1),(21 3,25 2,28 5,25 8,21 7,21 3))
  )'::geometry
))
SELECT part.geom AS input_polygon,
       ST_ExteriorRing(part.geom) AS exterior_ring
FROM input
CROSS JOIN LATERAL ST_Dump(geom) AS part
ORDER BY part.path;
栅格输出
POLYGON((0 0,2 9,9 11,14 6,12 0,0 0),(4 3,9 3,10 7,5 8,4 3)) | LINESTRING(0 0,2 9,9 11,14 6,12 0,0 0)
POLYGON((18 1,18 10,29 10,31 4,25 0,18 1),(21 3,25 2,28 5,25 8,21 7,21 3)) | LINESTRING(18 1,18 10,29 10,31 4,25 0,18 1)
Figure
Geometry figure for visual-st-exteriorring-02

Extract exterior rings from a table of Polygons.

Code
SELECT gid, ST_ExteriorRing(geom) AS ering
FROM sometable;

For a table of MultiPolygons, dump the component Polygons and collect their exterior rings into a MultiLineString.

Code
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;

This example returns the 3D exterior ring of a Polygon.

Code
SELECT ST_ExteriorRing(
    'POLYGON Z ((0 0 5,4 0 5,4 3 5,0 3 5,0 0 5))'
    );
栅格输出
LINESTRING(0 0 5,4 0 5,4 3 5,0 3 5,0 0 5)
Figure
Geometry figure for visual-st-exteriorring-03