All Products
Search
Document Center

ApsaraDB RDS:ST_ClusterKMeans

Last Updated:Mar 29, 2026

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

ParameterDeskripsi
geomObjek geometri yang akan dikelompokkan.
numberOfClustersJumlah kluster yang akan dihasilkan.

Catatan penggunaan

  • ST_ClusterKMeans merupakan fungsi jendela. Panggil fungsi ini dengan klausa OVER().

  • 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)