Menetapkan ID kluster ke setiap objek geometri menggunakan algoritma K-means 2D.
Sintaksis
integer ST_ClusterKMeans(geometry winset geom, integer numberOfClusters);Nilai kembalian: Bilangan bulat yang merepresentasikan ID kluster yang ditetapkan untuk setiap objek geometri.
Parameter
| Parameter | Deskripsi |
|---|---|
geom | Objek geometri yang akan dikelompokkan. |
numberOfClusters | Jumlah kluster yang akan dihasilkan. |
Catatan penggunaan
ST_ClusterKMeansmerupakan fungsi jendela. Panggil fungsi ini dengan klausaOVER().Jarak pengelompokan dihitung berdasarkan jarak antara pusat (centroid) objek geometri input.
Contoh
Pengelompokan dasar
Contoh berikut mengelompokkan empat titik 2D ke dalam dua kelompok.
SELECT ST_ClusterKMeans(geom, 2) OVER(), ST_AsText(geom)
FROM (
SELECT unnest(ARRAY[
'POINT (0 0)'::geometry,
'POINT(1 1)'::geometry,
'POINT (-1 -1)'::geometry,
'POINT (-2 -2)'::geometry
]) AS geom
) AS test;Output:
st_clusterkmeans | st_astext
------------------+--------------
0 | POINT(0 0)
0 | POINT(1 1)
1 | POINT(-1 -1)
1 | POINT(-2 -2)
(4 rows)