Name

ST_RemoveRepeatedPoints — 重複ポイントを除いたジオメトリを返します。

Synopsis

geometry ST_RemoveRepeatedPoints(geometry geom, float8 tolerance = 0.0);

説明

重複ポイントを除いたジオメトリを返します。この関数は(MULTI)LINESTRING、(MULTI)POLYGON、MULTIPOINTのみを処理しますが、全ての種類のジオメトリを与えることができます。GEOMETRYCOLLECTIONの要素は個別に処理されます。LINESTRINGの端点は保持されます。

If a non-zero tolerance parameter is provided, vertices within the tolerance distance of one another are considered to be duplicates. The distance is computed in 2D (XY plane).

Enhanced: 3.2.0

Availability: 2.2.0

この関数は多面体サーフェスに対応しています。

この関数は3次元に対応し、Z値を削除しません。

SELECT ST_AsText( ST_RemoveRepeatedPoints( 'MULTIPOINT ((1 1), (2 2), (3 3), (2 2))'));
-------------------------
 MULTIPOINT(1 1,2 2,3 3)
SELECT ST_AsText( ST_RemoveRepeatedPoints( 'LINESTRING (0 0, 0 0, 1 1, 0 0, 1 1, 2 2)'));
---------------------------------
 LINESTRING(0 0,1 1,0 0,1 1,2 2)

例: ジオメトリコレクションの要素は個別に処理されます。

SELECT ST_AsText( ST_RemoveRepeatedPoints( 'GEOMETRYCOLLECTION (LINESTRING (1 1, 2 2, 2 2, 3 3), POINT (4 4), POINT (4 4), POINT (5 5))'));
------------------------------------------------------------------------------
 GEOMETRYCOLLECTION(LINESTRING(1 1,2 2,3 3),POINT(4 4),POINT(4 4),POINT(5 5))

例: 許容距離内にある繰り返しポイントの削除。

SELECT ST_AsText( ST_RemoveRepeatedPoints( 'LINESTRING (0 0, 0 0, 1 1, 5 5, 1 1, 2 2)', 2));
-------------------------
 LINESTRING(0 0,5 5,2 2)

関連情報

ST_Simplify