ST_RemoveSmallParts — ジオメトリの全ての小さな部位 (ポリゴンのリングまたはラインストリング)を削除します。
geometry ST_RemoveSmallParts(geometry geom, double precision minSizeX, double precision minSizeY);
小さい部位 (外側リングや内側リングやラインストリング)を持たないgeometryを返します。
この関数は、地図の簡略化における、小さい島や穴を削除するたといった前処理段階で使います。
(MULTI)POLYGONと(MULTI)LINESTRINGのタイプのジオメトリだけが評価されます。他のジオメトリは変更されません。
minSizeXが0より大きい場合には、minSizeXより小さい幅の部位が分けられます。
minSizeYが0より大きい場合には、minSizeYより小さい高さの部位が分けられます。
minSizeXとminSizeYは、ともにジオメトリの座標系の単位で計測されます。
ポリゴンタイプの場合には、評価はリングごとに個別に行われ、次の結果のいずれかが導かれます:
元のジオメトリ
全てのリングで頂点が減ったPOLYGON、
内側リングの数が減ったPOLYGON (さらに頂点が減っている場合あり)、
POLYGON EMPTY、
要素ポリゴン数が減ったMULTIPOLYGON (さらに内側リング数や頂点数が減っている場合あり)、
MULTIPOLYGON EMPTY。
ラインストリングタイプの場合には、ラインストリングごとに評価が行われるので、次のような結果が導かれます:
元のジオメトリ
頂点数の減ったLINESTRING、
LINESTRING EMPTY、
要素ラインストリング数の減ったMULTILINESTRING (さらに頂点が減っている場合あり)、
MULTILINESTRING EMPTY。
Availability: 3.5.0
SELECT ST_RemoveSmallParts('MULTIPOLYGON(
((60 160,120 160,120 220,60 220,60 160),(70 170,70 210,110 210,110 170,70 170)),
((85 75,155 75,155 145,85 145,85 75)),
((50 110,70 110,70 130,50 130,50 110)))',
50, 50);
MULTIPOLYGON(((60 160,120 160,120 220,60 220,60 160)),((85 75,155 75,155 145,85 145,85 75)))
SELECT ST_RemoveSmallParts('LINESTRING(10 10,20 20)',
50, 50);
LINESTRING EMPTY