Atribui um ID de cluster a cada objeto de geometria com o algoritmo K-means 2D.
Sintaxe
integer ST_ClusterKMeans(geometry winset geom, integer numberOfClusters);
Valor retornado: inteiro que representa o ID do cluster atribuído a cada objeto de geometria.
Parâmetros
|
Parâmetro |
Descrição |
|
|
Objetos de geometria para agrupamento. |
|
|
Número de clusters a gerar. |
Observações de uso
ST_ClusterKMeansé uma função de janela. Use-a com a cláusulaOVER().A distância de clustering corresponde à distância entre os centroides dos objetos de geometria de entrada.
Exemplos
Clustering básico
O exemplo a seguir agrupa quatro pontos 2D em dois grupos.
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;
Saída:
st_clusterkmeans | st_astext
------------------+--------------
0 | POINT(0 0)
0 | POINT(1 1)
1 | POINT(-1 -1)
1 | POINT(-2 -2)
(4 rows)