このトピックでは、ST_ClusterKMeans関数について説明します。 この関数は、2DベースのK平均アルゴリズムを使用して、指定された各ジオメトリオブジェクトのクラスター番号を返します。
構文
整数ST_ClusterKMeans (ジオメトリwinset geom、整数numberOfClusters);
パラメーター
パラメーター | 説明 |
geom | 指定するジオメトリオブジェクト。 |
numberOfClusters | 指定するクラスターの数。 |
説明
- クラスタリングに使用される距離は、指定したジオメトリオブジェクトの重心間の距離です。
- ST_ClusterKMeans関数は窓関数である。
例
SELECT ST_ClusterKMeans(geom,2) over() ,st_AsText(geom)
から (unnestを選択します (ARRAY['POINT (0 0)')::geometry,
'POINT(1 1)'::geometry、
'POINT (-1 -1)'::geometry,
'POINT (-2 -2)'::geometry]) as geom) as test;
st_clusterkmeans | st_astext
------------------ --------------
0 | ポイント (0 0)
0 | ポイント (1 1)
1 | ポイント (-1 -1)
1 | ポイント (-2 -2)
(4行)