clustering
This module contains functions that perform clustering on geographies.
ST_CLUSTERKMEANS
ST_CLUSTERKMEANS(geog, numberOfClusters)
Description
Takes a set of points as input and partitions them into clusters using the k-means algorithm. Returns an array of tuples with the cluster index for each of the input features and the input geometry.
geog
:ARRAY<GEOGRAPHY>
points to be clustered.numberOfClusters
:INT64
|NULL
numberOfClusters that will be generated. IfNULL
the default valueMath.sqrt(<NUMBER OF POINTS>/2)
is used. The output number of cluster cannot be greater to the number of distinct points of thegeog
.
Return type
ARRAY<STRUCT<cluster INT64, geom GEOGRAPHY>>
Example
SELECT `carto-un`.carto.ST_CLUSTERKMEANS([ST_GEOGPOINT(0, 0), ST_GEOGPOINT(0, 1), ST_GEOGPOINT(5, 0), ST_GEOGPOINT(1, 0)], 2);
-- {cluster: 1, geom: POINT(0 0)}
-- {cluster: 1, geom: POINT(0 1)}
-- {cluster: 0, geom: POINT(5 0)}
-- {cluster: 1, geom: POINT(1 0)}
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 960401.
Last updated
Was this helpful?