1731         static int cluster_size = 100;
 
 1732         static int num_clusters = 4;
 
 1733         static double spread = 1.5;
 
 1734         int N = cluster_size * num_clusters;
 
 1741         for (j = 0; j < num_clusters; j++) {
 
 1742                 for (i = 0; i < cluster_size; i++)
 
 1744                         double u1 = 1.0 * rand() / RAND_MAX;
 
 1745                         double u2 = 1.0 * rand() / RAND_MAX;
 
 1746                         double z1 = spread * j + sqrt(-2*log2(u1))*cos(2*M_PI*u2);
 
 1747                         double z2 = spread * j + sqrt(-2*log2(u1))*sin(2*M_PI*u2);
 
 1763         for (i = 0; i < k; i++)
 
LWPOINT * lwpoint_make2d(int32_t srid, double x, double y)
void lwgeom_free(LWGEOM *geom)
int * lwgeom_cluster_kmeans(const LWGEOM **geoms, uint32_t n, uint32_t k, double max_radius)
Take a list of LWGEOMs and a number of clusters and return an integer array indicating which cluster ...
LWGEOM * lwpoint_as_lwgeom(const LWPOINT *obj)
void * lwalloc(size_t size)
#define SRID_UNKNOWN
Unknown SRID value.