Reference · Markers on the globe
clusterPointsfunction
Group the points indices (into xs and ys) by the grid cell they fall in. A cell with one point is that point alone; with more it is one cluster at their
average. Order is stable: clusters come in the order their first member was seen.
Import it
import { clusterPoints } from "@johnmorrisdotca/chikyu-earth/markers";
Definition
function clusterPoints(indices: ArrayLike<number>, count: number, xs: ArrayLike<number>, ys: ArrayLike<number>, cell: number): Cluster[]
Parameters
| Name | Type | Description |
|---|---|---|
indices | ArrayLike<number> | Which points to group: indices into |
count | number | How many of |
xs | ArrayLike<number> | Every point's x on the screen, in pixels. |
ys | ArrayLike<number> | Every point's y on the screen, in pixels. |
cell | number | The side of a grid cell in pixels; points in one cell join. |
Returns
Cluster[]
The clusters, each with the indices of its members; a lone point is a cluster of one.
Examples
import { clusterPoints } from "@johnmorrisdotca/chikyu-earth/markers";
const xs = [10, 14, 200];
const ys = [10, 12, 200];
console.log(clusterPoints([0, 1, 2], 3, xs, ys, 28).map((cluster) => cluster.members));[ [ 0, 1 ], [ 2 ] ]What it prints (run when this page was built)