名稱

ST_DumpRings — 傳回一個 geometry_dump 列的集合,表示多邊形的外環和內環。

概要

geometry_dump[] ST_DumpRings(geometry a_polygon);

說明

這是一個返回集合的函數 (SRF),用於提取多邊形的環。它會傳回一個 geometry_dump 列的集合,每個列都包含一個幾何物件(geom 欄位)和一個整數陣列(path 欄位)。

geom 欄位包含每個環,表示為 POLYGON。 path 欄位是一個長度為 1 的整數陣列,包含多邊形環的索引。外環(外殼)的索引為 0。內環(孔洞)的索引為 1 或更高。

[Note]

這僅適用於 POLYGON 幾何物件。不適用於 MULTIPOLYGONS。

可用性:PostGIS 1.1.3。需要 PostgreSQL 7.3 或更高版本。

此函數支援 3D,並且不會捨棄 z 索引。

範例

查詢的一般形式。

SELECT polyTable.field1, polyTable.field1,
	  (ST_DumpRings(polyTable.geom)).geom As geom
FROM polyTable;

具有單一孔洞的多邊形。

SELECT path, ST_AsEWKT(geom) As geom
	FROM ST_DumpRings(
		ST_GeomFromEWKT('POLYGON((-8149064 5133092 1,-8149064 5132986 1,-8148996 5132839 1,-8148972 5132767 1,-8148958 5132508 1,-8148941 5132466 1,-8148924 5132394 1,
		-8148903 5132210 1,-8148930 5131967 1,-8148992 5131978 1,-8149237 5132093 1,-8149404 5132211 1,-8149647 5132310 1,-8149757 5132394 1,
		-8150305 5132788 1,-8149064 5133092 1),
		(-8149362 5132394 1,-8149446 5132501 1,-8149548 5132597 1,-8149695 5132675 1,-8149362 5132394 1))')
		)  as foo;
 path |                                            geom
----------------------------------------------------------------------------------------------------------------
  {0} | POLYGON((-8149064 5133092 1,-8149064 5132986 1,-8148996 5132839 1,-8148972 5132767 1,-8148958 5132508 1,
	  |          -8148941 5132466 1,-8148924 5132394 1,
	  |          -8148903 5132210 1,-8148930 5131967 1,
	  |          -8148992 5131978 1,-8149237 5132093 1,
	  |          -8149404 5132211 1,-8149647 5132310 1,-8149757 5132394 1,-8150305 5132788 1,-8149064 5133092 1))
  {1} | POLYGON((-8149362 5132394 1,-8149446 5132501 1,
	  |          -8149548 5132597 1,-8149695 5132675 1,-8149362 5132394 1))