名前

ST_DumpRings — ポリゴンの外環と内環を表すgeometry_dump行の集合を返します。

概要

geometry_dump[] ST_DumpRings(geometry a_polygon);

説明

これは集合を返す関数(SRF=set-returning function)です。それぞれ"path", "geom"と別名が付けられたinteger[], geometryとして定義されたgeometry_dump行の集合を返します。"path"フィールドは、単一整数を持つ環のインデクスで、0が外環で、0より大きい値は内環です。"geom"フィールドは、ポリゴンとした対応する環を持ちます。

初出: PostGIS 1.1.3 PostgreSQL 7.3以上が必要です。

[注記]

TPOLYGONジオメトリでのみ動作します。MULTIPOLYGONでは動作しません。

この関数は3次元に対応しています。Zインデクスを削除しません。

SELECT sometable.field1, sometable.field1,
	  (ST_DumpRings(sometable.the_geom)).geom As the_geom
FROM sometableOfpolys;

SELECT ST_AsEWKT(geom) As the_geom, path
	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 |                                            the_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))

関連情報

geometry_dump, 「PostGISジオメトリ/ジオグラフィ/ラスタダンプ関数」, ST_Dump, ST_ExteriorRing, ST_InteriorRingN