ST_NumInteriorRings — ジオメトリの最初のポリゴンの内環数を返します。この関数はポリゴンとマルチポリゴンの両方で動作しますが、最初のポリゴンしか見ません。ジオメトリにポリゴンが存在しない場合はNULLを返します。
integer ST_NumInteriorRings(
geometry a_polygon)
;
ジオメトリの最初のポリゴンの内環数を返します。この関数はポリゴンとマルチポリゴンの両方で動作しますが、最初のポリゴンしか見ません。ジオメトリにポリゴンが存在しない場合はNULLを返します。
このメソッドはSQL/MM仕様の実装です。 SQL-MM 3: 8.2.5
-- 通常のポリゴンの場合 SELECT gid, field1, field2, ST_NumInteriorRings(the_geom) AS numholes FROM sometable; -- マルチポリゴンの内環の総数を知りたい場合 SELECT gid, field1, field2, SUM(ST_NumInteriorRings(the_geom)) AS numholes FROM (SELECT gid, field1, field2, (ST_Dump(the_geom)).geom As the_geom FROM sometable) As foo GROUP BY gid, field1,field2;