- カテゴリ:
ST_SIMPLIFY¶
線またはポリゴンを表す入力 GEOGRAPHY オブジェクトを指定すると、オブジェクトのより単純な近似を返します。この関数は、選択された頂点を識別して削除するため、頂点の少ない同様のオブジェクトが生成されます。
たとえば、入力オブジェクトが50個の頂点を持つポリゴンである場合、 ST_SIMPLIFY はこれらの頂点の内、20個のみを持つ単純なポリゴンを返すことができます。
オブジェクトを簡略化する場合、この関数は頂点を削除し、その頂点の削除によって生じたエッジとエッジの間の距離が指定された許容範囲内にある場合にのみ、その頂点を削除します。
構文¶
ST_SIMPLIFY( <geography_expression>, <tolerance> [ , <preserve_collapsed> ] )
引数¶
必須:
geography_expression
簡略化する GEOGRAPHY オブジェクト。
GEOGRAPHY オブジェクトの型に応じて、 ST_SIMPLIFY には次の効果があります。
オブジェクトの型
ST_SIMPLIFY の効果
LineString、 MultiLineString、ポリゴン、または MultiPolygon
ST_SIMPLIFY による単純化アルゴリズムの適用
ポイントまたは MultiPoint
ST_SIMPLIFY は、効果がありません。
GeometryCollection または FeatureCollection
ST_SIMPLIFY は、コレクションの各オブジェクトに簡略化アルゴリズムを適用します。
tolerance
頂点の削除から生じる頂点とエッジ間の最大距離(メートル)。距離が頂点のこの許容値を超える場合、 ST_SIMPLIFY はその頂点を簡略化されたオブジェクトに保持します。
オプション:
preserve_collapsed
TRUE
の場合、許容値を考慮した際に小さすぎるオブジェクトを保持します。たとえば、
preserve_collapsed
がFALSE
で、tolerance
が10
(メートル)の場合、1mの長さの線は、簡略化されたオブジェクトのポイントに縮小されます。preserve_collapsed
がTRUE
の場合、線は簡略化されたオブジェクトに保持されます。デフォルト:
FALSE
。
戻り値¶
この関数は、 GEOGRAPHY 型の値を返します。
例¶
このセクションの例では、出力を WKT 形式で表示します。
alter session set GEOGRAPHY_OUTPUT_FORMAT='WKT';
次の例は、元の LineString よりも頂点が少ない簡略化された LineString を返します。簡略化されたオブジェクトでは、頂点と、頂点を置き換えるエッジ間の距離が1000メートル未満の場合、頂点は省略されます。
SELECT ST_SIMPLIFY( TO_GEOGRAPHY('LINESTRING(-122.306067 37.55412, -122.32328 37.561801, -122.325879 37.586852)'), 1000); +----------------------------------------------------------------------------------------------------+ | ST_SIMPLIFY( | | TO_GEOGRAPHY('LINESTRING(-122.306067 37.55412, -122.32328 37.561801, -122.325879 37.586852)'), | | 1000) | |----------------------------------------------------------------------------------------------------| | LINESTRING(-122.306067 37.55412,-122.325879 37.586852) | +----------------------------------------------------------------------------------------------------+