すべてのプロダクト
Search
ドキュメントセンター

PolarDB:ST_ClusterWithin

最終更新日:Jun 21, 2024

このトピックでは、ST_ClusterWithin関数について説明します。 この関数は、GeometryCollectionオブジェクトの配列を返します。各オブジェクトは、指定された距離以下で区切られた一連のジオメトリオブジェクトを表します。

構文

geometry[] ST_ClusterWithin (ジオメトリセットg、float8距離);

パラメーター

パラメーター説明
g指定するジオメトリオブジェクト。
距離クラスタリングに使用する距離。

説明

指定する距離は、空間参照識別子 (SRID) を使用して表されるデカルト距離です。

  • デフォルトのパラメーター設定を保持したままGeometryCollectionオブジェクトの配列を取得します。
    SELECT ST_AsText(unnest(ST_ClusterWithin(geom,1)))
    から (選択ARRAY['LINESTRING (0) 0,0 1)'::geometry、
                         'LINESTRING (2 3,3 3)'::geometry、
                         'LINESTRING (0 1,2 3)'::geometry、
                         'POINT (-1 -1)'::geometry] as geom) as test;
                               st_astext
    ---------------------------------------------------------------
     GEOMETRYCOLLECTION(LINESTRING(0 0,0 1) 、LINESTRING(2 3,3 3) 、LINESTRING(0 1,2 3))
     GEOMETRYCOLLECTION (ポイント (-1 -1))
    (2行)
    
  • クラスタリングの距離を2に設定したGeometryCollectionオブジェクトの配列を取得します。
    SELECT ST_AsText(unnest(ST_ClusterWithin(geom,2)))
    から (選択ARRAY['LINESTRING (0) 0,0 1)'::geometry、
                         'LINESTRING (2 3,3 3)'::geometry、
                         'LINESTRING (0 1,2 3)'::geometry、
                         'POINT (-1 -1)'::geometry] as geom) as test;
                               st_astext
    ---------------------------------------------------------------
     GEOMETRYCOLLECTION(LINESTRING(0 0,0 1) 、LINESTRING(2 3,3 3) 、LINESTRING(0 1,2 3) 、POINT(-1 -1))
    (1行)